2

そのため、MPI を使用した単純な行列乗算コードに取り組んでいます。私が直面している問題の 1 つは、マトリックスの 1 つをすべてのプロセッサに分散させることです。行列の次元がプロセッサの数で割り切れない可能性があると想定しています。

col_idまた、mod 関数を使用して、各プロセッサに割り当てられた列の数を計算する変数を使用しました。たとえば、9 つの列と 6 つのプロセッサがある場合、最初の 3 つのプロセッサのcol_id値は 2 になり、他の 3 つのプロセッサのcol_id値は 1 になります。

そこで、基本的な散乱操作を使用しました。

call MPI_Scatter(b, dim2*col_id, MPI_Integer, b1, dim2*col_id, MPI_Integer, 0, MPI_COMM_WORLD, ierr)

col_idプロセッサごとに異なります。この変数を使用して寸法を指定することはできますMPI_scatterか?

4

1 に答える 1