【发布时间】:2023-03-21 12:47:01
【问题描述】:
我想分配一个 N x N 矩阵,以便每个进程 P 获得每个 P 行。例如,如果我有 4 个进程,进程 0 的每 4 行从 0 开始,进程 1 的每 4 行从 1 开始,依此类推。
【问题讨论】:
-
您可以多次拨打
MPI_Scatter()。
我想分配一个 N x N 矩阵,以便每个进程 P 获得每个 P 行。例如,如果我有 4 个进程,进程 0 的每 4 行从 0 开始,进程 1 的每 4 行从 1 开始,依此类推。
【问题讨论】:
MPI_Scatter()。
您可以结合使用 MPI 数据类型和分散调用来做到这一点。如果您使用 MPI 向量类型,您可以将步幅设置为 4 行的大小,以跳过您不想发送的其他三行。
然后你可以只做一个MPI_Scatter 并让计数等于你的矩阵大小除以 4。
【讨论】: