使用allcollect并行嵌套for循环的另一个循环



我正在尝试使用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索引。

相关内容

  • 没有找到相关文章

最新更新