現在、C++でMPIライブラリを使用している間に共有メモリを偽装しようとしています。私はサイズn + 1の配列Aを持っています。ここでnはユーザーから与えられ、プロセッサ0はその配列の整数を生成します。私はプロセッサ0が他のすべてのプロセスで作成した配列を共有する必要があります。その結果、私は他の人にBcastします...しかし、私は各プロセッサが自分のアレイをプリントアウトさせるために行くと、ゼロではないプロセッサから信号11(セグメンテーションフォルト)が得られます。私がそのセクションをコメントアウトすると、問題なく実行されます。私は私の配列が送信され、すべてのプロセッサに正しく格納されていることを確認することができたいと思います。整数の配列をMPIで共有する(C++)
int *A=new int[n+1];
if(my_rank==0)
{
srand(1251);
A[0]=0;
for(int i=1; i<=n; i++){
A[i]=rand()%100;}
MPI_Bcast(&A, n+1, MPI_INT, 0, MPI_COMM_WORLD);
}
else {
MPI_Bcast(&A, n+1, MPI_INT, 0, MPI_COMM_WORLD);
}
cout<<"My rank is "<<my_rank<<" and this is my array:"<<endl;
for (int i=0; i<=n; i++)
{cout<<A[i]<<" "<<endl;}
cout<<endl;
また、各プロセスはn –