だから、私は自分のmpiライブラリ(簡易版)を実装し、プロセス間でいくつかのデータを送受信する必要があります。MPI_Send は次のようになります (void *buf、int count、datatype data など...)。SO これは、buf によってアドレスを指しているデータ型 (char、double、または int) のカウント要素を送信する必要があることを意味します。メッセージ キュー (mq) を介して em を送信する必要があります。MPI_Recv は、ほぼ同じパラメータを取ります。現時点では、Send と Recv で私が行っていることは次のとおりです。
//Sender part of code
ret=mq_send(mq,buf,sizeof(buf),0);
if(ret < 0)
return MPI_ERR_IO;
//Receiver part of code
ret = mq_receive(mq, buf, MSGSIZE, NULL );
if(ret < 0)
return MPI_ERR_IO;
現在、配列の最初の要素のみを受け取っています。全体を送るにはどうすればよいですか?これが私が考えていることです
//Sender part of pseudocode
for(i=0,count)
element=(cast to datatype)buf[i];
mq_send(mq,element,sizeof,0);
//Receiver part of pseudocode
//i receive the count number of elements prior to this message
for(i=0,count)
mq_receive(mq,local_variable,etc...)
somehow store them into my void *buf which i receive as an argument ??
何かが十分に明確でない場合は、返信します