Greet from process
编写一个hello word一样的并行程序
当然,不会完全像hello word一样简单
作为一个并行程序,本身就不会很简单!
题目要求
有多个进程,编号0 - n
现在要求1 - n号进程将消息发送至0号进程,
0号进程接受来自各个进程的消息,并显示!
主要思路
重点在于体会其中的编程思想和解决并行问题的思路
一个符合规范的MPI程序,要尽量保证并行程序的代码段始终在MPI_Init和MPI_Finalize这两个函数之间,当然,一个程序中可有多个这样的片段
下面是一个典型的MPI程序的代码格式
#include "mpi.h" //mpi头文件
int main() {
...
/*MPI初始化,需要说明的是,程序的并行部分应当在此处起始*/
MPI_Init(NULL, NULL);
...
/*MPI代码区退出部分,按照规范,并行代码应当立即结束*/
MPI_Finalize();
...
return 0;
}
在进程通信之前,应当使用MPI_Comm_size 和 MPI_Comm_rank 这两个函数获取进程的有关信息
其中前者获取通信子大小:第一个参数是输入的MPI通信类型,第二个输出通信子大小
后者获取当前进程编号:第一个参数是输入的MPI通信类型,第二个参数是通信子大小
MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
MPI_Comm_rank(MPI_COM