以下のソース上で"tag"を検索しようとしたところ
「char message[100]; /* メッセージの保管場所 */」でのcharとmessageの
間の空欄
「 MPI_Recv(」での「 MP」
「/* MPIのシャットダウン */」での「*/」
がハイライトされ、肝腎のtagにヒットしません。
これはgeditのバグなのでしょうか、それとも私がなんらかの設定ミスなどを犯して
いるのでしょうか。いずれにせよ対処方を教えて戴きたいのです。
BYH01337@xxxxxxxxxxx 田中
#include <stdio.h>
#include <string.h>
#include "mpi.h"
main(int argc, char* argv[]){
int my_rank; /* カレントプロセスのランク */
int p; /* プロセスの数 */
int source; /* 送信プロセスのランク */
int dest; /* 受信プロセスのランク */
int tag = 0; /* メッセージのタグ */
char message[100]; /* メッセージの保管場所 */
MPI_Status status; /* 受信の戻りステータス */
/* MPIスタートアップ */
MPI_Init(&argc, &argv);
/* カレントプロセスのランクを求める */
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
/* プロセスの数を求める */
MPI_Comm_size(MPI_COMM_WORLD, &p);
if (my_rank != 0) {
/* メッセージの生成 */
sprintf(message, "Greetings from prosess %d!", my_rank);
dest = 0;
/* '\0'も送信するのでstrlen+1を使う */
MPI_Send(
message,
strlen(message)+1,
MPI_CHAR,
dest,
tag,
MPI_COMM_WORLD
);
}
else { /* my_rank == 0 */
for (source = 1; source < p; source++) {
MPI_Recv(
message,
100,
MPI_CHAR,
source,
tag,
MPI_COMM_WORLD,
&status
);
printf("%s\n", message);
}
}
/* MPIのシャットダウン */
MPI_Finalize();
} /* main */