mpi生成随机数组
时间: 2023-07-18 20:05:36 浏览: 96
生成随机数
以下是使用 MPI 生成随机数组的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <mpi.h>
#define ARRAY_SIZE 10
int main(int argc, char** argv) {
int rank, size;
int array[ARRAY_SIZE];
int i;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
// 每个进程生成不同的随机种子
srand(time(NULL) + rank);
// 每个进程生成随机数组
for (i = 0; i < ARRAY_SIZE; i++) {
array[i] = rand() % 100;
}
// 打印每个进程的数组
printf("Process %d: ", rank);
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", array[i]);
}
printf("\n");
MPI_Finalize();
return 0;
}
```
在此示例中,每个进程都生成一个长度为 `ARRAY_SIZE` 的随机数组。由于每个进程使用不同的随机种子生成随机数,因此每个进程的数组都是不同的。最后,每个进程都将其数组打印出来。
阅读全文