我正在尝试使用allcollecte 并行化下面的嵌套for循环
for (int i=0; i<N1; i++) {
for (int j=0; j<N0; j++)
HS_1[i] += IN[j]*W0[j][i];
}
这里N1是1000,N2是764。
我有四个进程,我只想将外循环并行化。有办法做到吗?
这看起来像矩阵向量乘法。让我们假设您已经分发了HS
输出向量。每个组件都需要完整的IN
向量,因此您确实需要一个allcollect。您还需要分发W0
矩阵:每个进程都获得部分i
索引和所有j
索引。