我可以并行化这个嵌套的for循环吗? (Python 3.5)

时间:2016-07-25 17:03:33

标签: python for-loop parallel-processing nested-loops python-3.5

我最近发现我的代码的瓶颈是以下块。 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

0 个答案:

没有答案