mpi编程的计算π的程序Ubuntu
时间: 2023-12-10 07:39:43 浏览: 69
以下是一个使用 MPI 编程计算 π 的程序,可以在 Ubuntu 上运行:
```c
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
#define INTERVALS 1000000
int main(int argc, char** argv) {
int rank, size;
double pi = 0.0, x, sum = 0.0;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
for (int i = rank + 1; i <= INTERVALS; i += size) {
x = (i - 0.5) / INTERVALS;
sum += 4.0 / (1.0 + x * x);
}
MPI_Reduce(&sum, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);
if (rank == 0) {
pi /= INTERVALS;
printf("π ≈ %.16f\n", pi);
}
MPI_Finalize();
return 0;
}
```
这个程序使用了 MPI,需要在编译时链接 MPI 库。假设 MPI 安装在默认位置,可以使用以下指令编译:
```bash
mpicc -o pi pi.c
```
然后可以使用以下指令运行程序:
```bash
mpirun -np <进程数> ./pi
```
其中 `<进程数>` 是指使用的 MPI 进程数,可以根据需要修改。程序会输出估算得到的 π 的值。
阅读全文