给一个测试openmpi的建议代码
时间: 2024-09-19 18:13:39 浏览: 31
为了测试Open MPI,你可以编写一个简单的C程序,利用MPI的功能来验证进程间的通信和同步。这里有一个基本的示例,它展示了如何创建几个MPI进程,并在它们之间发送消息:
```c
#include <mpi.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
// 初始化MPI
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf("Hello from process %d of %d\n", rank, size);
// 发送消息到其他进程 (如果大小大于1)
if (rank == 0 && size > 1) {
int message = 42; // 随便选一个值
MPI_Ssend(&message, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
}
// 接收消息 (如果大小大于1且不是主进程)
if (rank != 0 && size > 1) {
int received_message;
MPI_Recv(&received_message, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
printf("Received message: %d\n", received_message);
}
MPI_Finalize();
return 0;
}
```
运行这个程序时,每个进程都会打印出自己的ID和“Hello”消息,以及在适当的时候接收或发送的消息。
阅读全文