Tag: mpich

bash:/ usr / bin / hydra_pmi_proxy:没有这样的文件或目录

在Ubuntu教程中设置MPICH2集群后,我正在努力设置MPI集群。 我有运行的东西,我的机器文件是这样的: pythagoras:2 # this will spawn 2 processes on pythagoras geomcomp # this will spawn 1 process on geomcomp 该教程指出: 并运行它(-n旁边的参数指定在节点之间生成和分发的进程数):mpiu @ ub0:〜$ mpiexec -n 8 -f machinefile ./mpi_hello 使用-n 1和-n 2它运行正常,但是使用-n 3,它会失败,如下所示: gsamaras@pythagoras:/mirror$ mpiexec -n 1 -f machinefile ./mpi_hello Hello from processor 0 of 1 gsamaras@pythagoras:/mirror$ mpiexec -n 2 -f machinefile ./mpi_hello Hello […]

在`libpmpi.12.dylib`中使用MPI_Barrier时出现分段错误

我使用brew install mpich ,但是如果我使用MPI_Barrier ,我会得到分段错误。 请参阅以下简单代码: // Ac #include “mpi.h” #include int main(int argc, char *argv[]) { int rank, nprocs; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&nprocs); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Barrier(MPI_COMM_WORLD); printf(“Hello, world. I am %d of %d\n”, rank, nprocs);fflush(stdout); MPI_Finalize(); return 0; } mpicc Ac -g -O0 -o A 运行mpirun -n 2 ./A ,我收到以下错误: ================================================================================== = = BAD TERMINATION OF ONE […]

使用Cygwin的MPICH2编译问题

尝试使用Cygwin在Windows机器上编译MPICH2。 一些相关的信息 $ uname – > CYGWIN_NT-6.1 $ gcc –version – > gcc(GCC)3.4.4(cygming special,gdc 0.12,使用dmd 0.125)版权所有(C)2004 Free Software Foundation,Inc。这是免费软件; 查看复制条件的来源。 没有保修; 甚至不适用于适销性或特定用途的适用性。 MPICH2版本:1.5 配置似乎已经适当完成,但在编译期间我收到以下内容: **** Making src/misc …. make –no-print-directory build_lib_bin make –no-print-directory mpe_debug_objs make –no-print-directory /home/Daeden/issm/trunk-jpl/externalpackages/mpich2/src/src/mpe2/lib/libmpe_nompi.a make[7]: `/home/Daeden/issm/trunk-jpl/externalpackages/mpich2/src/src/mpe2/lib/libmpe_nompi.a’ is up to date. make –no-print-directory /home/Daeden/issm/trunk-jpl/externalpackages/mpich2/src/src/mpe2/lib/libmpe.a gcc -I/home/Daeden/issm/trunk-jpl/externalpackages/mpich2/src/src/include -I/home/Daeden/issm/trunk-jpl/externalpackages/mpich2/src/ src/include -I.. -I../include -I../../.. -I../../../include -o […]

MPI发送数组数组

好的,所以我试图通过MPI发送这样的结构 struct BColumns { double **B; int offset; }; 如果我只是像这样做一些BS分配数据 bSet.offset = myRank; bSet.B = (double **) calloc(2, sizeof(double *)); bSet.B[0] = (double *) calloc(1, sizeof(double)); bSet.B[1] = (double *) calloc(1, sizeof(double)); bSet.B[0][0] = 1; bSet.B[1][0] = 2; if(myRank == 0){ MPI_Send(&bSet,sizeof(struct BColumns), MPI_BYTE, 1, 1, MPI_COMM_WORLD); }else{ MPI_Recv(&recvBuf, sizeof(struct BColumns), MPI_BYTE, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, […]

如何在MPI中创建新类型

我是MPI的新手,我想为Residence struct创建一个新的数据类型。 我只是想看看我是否可以正确地创建新类型。 struct Residence {double x; 双y; }; 我的新MPI类型 MPI_Datatype createRecType() { // Set-up the arguments for the type constructor MPI_Datatype new_type; int count = 2; int blocklens[] = { 1,1 }; MPI_Aint indices[2]; //indices[0]=0; MPI_Type_extent( MPI_DOUBLE, &indices[0] ); MPI_Type_extent( MPI_DOUBLE, &indices[1] ); MPI_Datatype old_types[] = {MPI_DOUBLE,MPI_DOUBLE}; MPI_Type_struct(count,blocklens,indices,old_types,&new_type); MPI_Type_commit(&new_type); }