实验需要了解并运用MPI和OpenMP。
MPI(Message Passing Interface )
消息传递函数库的标准说明,吸取了众多消息传递系统的优点,是目前国际上最流行的并行编程环境之一
函数很多,抄几个下来
MPI_INIT: 启动MPI环境
MPI_Init(… );
MPI_FIANLIZE: 结束MPI环境
MPI_Finalize();
MPI_COMM_SIZE: 确定进程数
MPI_Comm_size(… );
MPI_COMM_RANK: 确定自己的进程标识符
MPI_Comm_rank(… );
MPI_SEND: 发送一条消息
MPI_Send(… );
MPI_RECV: 接收一条消息
MPI_Recv(… )
OpenMP
用于共享内存并行系统的多线程程序设计,是一套指导性注释。对于非共享内存并行系统并不适用——这样的一般用OpenMP。在源程序中加入专用的progma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作。
这次作业还涉及到了OpenMP和MPI混合编程。等做完作业再写感想。