☰
8、MPI与Cray向量并行化编程详解
2026/9/28 12:29:08 网站建设 项目流程

MPI与Cray向量并行化编程详解

1. MPI通信与功能

MPI(Message Passing Interface)是并行计算中常用的消息传递标准,其中MPI_RECV调用是阻塞的。在示例程序matrixMultiply中,利用其阻塞特性作为扇入有向无环图(DAG)所需的同步设备。

1.1 非阻塞通信

示例程序使用阻塞通信,但在很多情况下,允许处理器继续计算,让通信协处理器或至少后台进程处理通信会更好。非阻塞发送/接收对是MPI_ISEND和MPI_IRECV。以下是修改后的代码示例:

Fortran代码:

20.5f integer req(1) 21f h = 1 22f do 10 k = 2, r 23f if( mod(myRank,2*h) .eq. 0 ) then 24f call MPI_IRECV(recvdMat, Q*Q, MPI_DOUBLE_PRECISION, & 25f myRank+h, 9, MPI_COMM_WORLD, req(1), ierr) 26f call matProduct(myMat,recvdMat) 27f else if( mod(myRank,2*h) .eq. h ) then 28f call MPI_ISEND(myMat, Q*Q, MPI_DOUBLE_PRECISION, & 29f myRank-h, 9, MPI_COMM_WORLD, req

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询