在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 ×1