そのため、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
か?