?? message.c
字號:
#include "mpi.h"
main( argc, argv )
int argc;
char **argv;
{
char message[20];
int myrank;
MPI_Init( &argc, &argv );
/* MPI程序的初始化*/
MPI_Comm_rank( MPI_COMM_WORLD, &myrank );
/* 得到當前進程的標識*/
if (myrank == 0) /* 若是 0 進程*/
{
/* 先將字符串拷貝到發送緩沖區message中然后調用MPI_Send語句將它發出用
strlen(message)指定消息的長度用MPI_CHAR指定消息的數據類型1指明發往進程1 使
用的消息標識是99 MPI_COMM_WORLD是包含本進程進程0 和接收消息的進程進
程1 的通信域發送方和接收方必須在同一個通信域中由通信域來統一協調和控制消息
的發送和接收*/
strcpy(message,"Hello, process 1");
MPI_Send(message, strlen(message), MPI_CHAR, 1,
99,MPI_COMM_WORLD);
}
else if(myrank==1) /* 若是進程 1 */
{
/*進程1直接執行接收消息的操作這里它使用message作為接收緩沖區由此可見對于同
一個變量在發送進程和接收進程中的作用是不同的它指定接收消息的最大長度為20 消
息的數據類型為MPI_CHAR字符型接收的消息來自進程0 而接收消息攜帶的標識必須為
99 使用的通信域也是MPI_COMM_WORLD 接收完成后的各種狀態信息存放在status中
接收完成后它直接將接收到的字符串打印在屏幕上*/
MPI_Recv(message, 20, MPI_CHAR, 0, 99, MPI_COMM_WORLD, &status);
printf("received :%s:", message);
}
MPI_Finalize();
/* MPI程序結束*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -