【发布时间】:2014-06-03 19:44:28
【问题描述】:
我的程序需要在进程之间分散一个矩阵。矩阵在内存中由一维数组表示。在我的第一个版本中,我将矩阵按行分散在进程之间。进程向彼此发送它们的局部矩阵的一些行,以便计算每个进程需要以适当方式进行的计算结果。进程使用 sendrecv 函数发送这些行。直到一切正常。
现在我想到,如果矩阵的列比行多得多,最好按列而不是行分散矩阵,以减少要发送的本地矩阵元素流程,并以这种方式提高程序的可扩展性。问题是......我怎样才能按列分散矩阵?然后......我如何选择正确的列以由进程发送给彼此?
【问题讨论】:
标签: c++ c++11 parallel-processing mpi