c - MVAPICH2-GDR has segmentation fault error -
i trying use mvapich2-gdr simple hello world program. although can compile code successfully, has segmentation fault error in runtime. platform has redhat 6.5 , cuda 7.5. downloaded rpm file mvapich2-gdr-cuda7.5-intel-2.2-0.3.rc1.el6.x86_64.rpm.
the mpi code simple hello world program:
1 #include <mpi.h> 2 #include <stdio.h> 3 4 int main(int argc, char** argv) { 5 // initialize mpi environment 6 mpi_init(null, null); 7 // number of processes 8 int world_size; 9 mpi_comm_size(mpi_comm_world, &world_size); 10 11 // rank of process 12 int world_rank; 13 mpi_comm_rank(mpi_comm_world, &world_rank); 14 15 // print off hello world message 16 printf("hello world %d out of %d\n", world_rank, world_size); 17 18 // finalize mpi environment. 19 mpi_finalize(); 20 } to compile program, used following command:
mpicc hello.c -o hello to run program:
mpirun -np 2 ./hello the error message follows:
[localhost.localdomain:mpi_rank_1][error_sighandler] caught error: segmentation fault (signal 11) [localhost.localdomain:mpi_rank_0][error_sighandler] caught error: segmentation fault (signal 11) = bad termination of 1 of application processes = pid 188057 running @ localhost.localdomain = exit code: 139 = cleaning remaining processes = can ignore below cleanup messages application terminated exit string: segmentation fault (signal 11) because mvapich2-gdr did not open source code, don't know error comes from. has used mvapich2-gdr?
to boost performance of gpu-gpu communication mvapich2-gdr uses new gdrcopy module. need explicitly point mvapich2-gdr library or explicitly disable usage of feature setting mv2_use_gpudirect_gdrcopy=0.
as can see disabling feature i'm able run code. more information please refer userguide: http://mvapich.cse.ohio-state.edu/userguide/gdr/2.2rc1/
[hamidouc@ivy1 mvapich2]$ export mv2_use_gpudirect_gdrcopy=0 [hamidouc@ivy1 mvapich2]$ ./install/bin/mpirun -np 2 ./a.out hello world 0 out of 2 hello world 1 out of 2
Comments
Post a Comment