確かに、MPI で 1 つの C 構造体を転送するのに何行のコードが必要かを知って、かなりショックを受けました。
定義済みのデータ型を使用して構造体を単純に送信すると、どのような状況で機能しMPI_CHAR
ますか? 次の例を検討してください。
struct particle {
double x;
double y;
long i;
};
struct particle p;
MPI_Isend(&p, sizeof(particle), MPI_CHAR, tag, MPI_COMM_WORLD, &sendr);
私の場合、すべてのプロセスが同じアーキテクチャで実行されます。パディングだけが問題ですか?