Если вы собираетесь динамически распределять массив, отправка и получение будут:
MPI_Send(array,10,MPI_INT,1,tag,MPI_COMM_WORLD);
и
MPI_Recv (array,10,MPI_INT,0,tag,MPI_COMM_WORLD,&status);
(Обратите внимание, что массив array
, а не &array
)
Как предполагается в комментариях, ваше понимание MPI выглядит нормально, однако может помочь обновление вашего использования указателей языка Си.
РедактироватьКак уже упоминал Жиль, всем процессам, получающим данные в массив, также должна быть выделена память для них.(Может быть, сначала отправьте размер данных, чтобы получатель знал, насколько велик размер массива? Есть другие способы сделать это, однако это простое объяснение)