我最近发现我的代码的瓶颈是以下块。 N是10,000阶,L(10,000)^ 2。 RQ_func只是一个函数,它接受索引(元组)并返回float V和{index:probability}格式的字典sp_dist。
有没有办法可以并行化这段代码?我可以访问集群计算,一次最多可以使用20个核心,并希望使用该选项。
R = np.empty((L,))
Q = scipy.sparse.lil_matrix((L, N))
traverser = 0 # Populate R and Q by traversing the array
for s_index in state_indices:
for a_index in action_indices:
V, sp_dist = RQ_func(s_index, a_index)
R[traverser] = V
for sp_index, prob in sp_dist.items():
Q[traverser, sp_index] = prob
traverser += 1