非常に大きなグラフ(〜1mノード)の各ノードの共有ネイバーの数を計算しようとしています。Joblib を使用して、並行して実行しようとしています。しかし、すべてのデータを保持するはずの疎行列への並列書き込みについて心配しています。このコードは一貫した結果を生成しますか?
vNum = 1259084
NN_Matrix = csc_matrix((vNum, vNum), dtype=np.int8)
def nn_calc_parallel(node_id = None):
i, j = np.unravel_index(node_id, (1259084, 1259084))
NN_Matrix[i, j] = len(np.intersect1d(nx.neighbors(G, i), nx.neighbors(G,j)))
num_cores = multiprocessing.cpu_count()
result = Parallel(n_jobs=num_cores)(delayed(nn_calc_parallel)(i) for i in xrange(vNum**2))
そうでない場合は、これを解決するのを手伝ってもらえますか?