MPI все ко всем V в C ++ - PullRequest
       13

MPI все ко всем V в C ++

0 голосов
/ 12 декабря 2018

Я пытаюсь сгенерировать 4 ints и отправить их все в P0, используя alltoall У меня есть это: (переполнение стека не любит окончания строки linux)

int * sendbuf=new int [4];
for(int x=0;x<4;x++){sendbuf[x]=12/4*x;}

 int* sendcounts =new int [4];
 sendcounts[0]=4;
 sendcounts[1]=0;
 sendcounts[2]=0;
 sendcounts[3]=0;

 int* displs=new int [4];
 sendcounts[0]=0*sizeof(int);
 sendcounts[1]=4*sizeof(int);
 sendcounts[2]=4*sizeof(int);
 sendcounts[3]=4*sizeof(int);
 int * recvbuf=new int [16];

for(int x=0;x<16;x++){recvbuf[x]=0;}
 int* recvcounts=new int [4];
 recvcounts[0]=4;
 recvcounts[1]=4;
 recvcounts[2]=4;
 recvcounts[3]=4;

int* rdispls=new int [4];
 rdispls[0]=0;
 rdispls[1]=4;
 rdispls[2]=8;
 rdispls[3]=12;

MPI_Alltoallv(sendbuf,sendcounts,displs,MPI_INT,recvbuf,recvcounts, rdispls,MPI_INT,MPI_COMM_WORLD);

if(id==0)
{
     for(int x=0;x<16;x++){cout<<recvbuf;}
}

Я получаю сообщение усеченная ошибка, чтоя делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...