小编use*_*771的帖子

对于大型消息,MPI挂起在MPI_Send上

在c ++/mpi(mpich2)中有一个简单的程序,它发送一个double类型的数组.如果数组的大小超过9000,那么在调用MPI_Send期间我的程序挂起.如果array小于9000(例如8000),则programm工作正常.源代码如下:

main.cpp中

using namespace std;

Cube** cubes;
int cubesLen;

double* InitVector(int N) {
   double* x = new double[N];
   for (int i = 0; i < N; i++) {
       x[i] = i + 1;
   }
   return x;
}

void CreateCubes() {
    cubes = new Cube*[12];
    cubesLen = 12;
    for (int i = 0; i < 12; i++) {
       cubes[i] = new Cube(9000);
    }
}

void SendSimpleData(int size, int rank) {
    Cube* cube = cubes[0];
    int nodeDest = rank + 1; …
Run Code Online (Sandbox Code Playgroud)

mpi

7
推荐指数
1
解决办法
3825
查看次数

标签 统计

mpi ×1