Dear all, I use the following code: #include "stdlib.h" #include "stdio.h" #include "mpi.h" #include "math.h"
#include "unistd.h" /* sleep */ int my_num, mpi_size ; int main(int argc, char *argv[]) { MPI_Init(&argc, &argv) ; MPI_Comm_rank(MPI_COMM_WORLD, &my_num); MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); printf("%d calls MPI_Finalize()\n\n\n", my_num) ; MPI_Finalize() ; } I compile and run the code on two different architectures with their own version/installation of open-mpi, with the command lines: $>mpicc -lm --std=c99 basis.c $>mpiexec -n 1 a.out On numerous runs of the executable, even with a nbproc equal to 1: - Using a debian open-mpi v 1.2.7rc2 installation, my code always returns to shell after the call to MPI_Finalize() Kernel is 2.6.34 SMP, Intel P9600 2 cores - Using a homemade open-mpi v 1.4.2 installation, my code runs as expected, but instead of returning to the shell after the MPI_Finalize(), it can just hangs in Sl+ state. Kernel is 2.6.18-53.1.19.el5 SMP (RedHat), Quad-Core AMD Opteron 8356 I join the ompi_info of the 2 archs. I surely miss something... but what? .Yves.
>ompi_info Open MPI: 1.2.7rc2 Open MPI SVN revision: r18788 Open RTE: 1.2.7rc2 Open RTE SVN revision: r18788 OPAL: 1.2.7rc2 OPAL SVN revision: r18788 Prefix: /usr Configured architecture: x86_64-pc-linux-gnu Configured by: pbuilder Configured on: Mon Aug 25 21:27:31 UTC 2008 Configure host: charlie Built by: root Built on: Mon Aug 25 21:34:47 UTC 2008 Built host: charlie C bindings: yes C++ bindings: yes Fortran77 bindings: yes (all) Fortran90 bindings: yes Fortran90 bindings size: small C compiler: gcc C compiler absolute: /usr/bin/gcc C++ compiler: g++ C++ compiler absolute: /usr/bin/g++ Fortran77 compiler: gfortran Fortran77 compiler abs: /usr/bin/gfortran Fortran90 compiler: gfortran Fortran90 compiler abs: /usr/bin/gfortran C profiling: yes C++ profiling: yes Fortran77 profiling: yes Fortran90 profiling: yes C++ exceptions: no Thread support: posix (mpi: no, progress: no) Internal debug support: no MPI parameter check: runtime Memory profiling support: no Memory debugging support: no libltdl support: yes Heterogeneous support: yes mpirun default --prefix: no MCA backtrace: execinfo (MCA v1.0, API v1.0, Component v1.2.7) MCA memory: ptmalloc2 (MCA v1.0, API v1.0, Component v1.2.7) MCA paffinity: linux (MCA v1.0, API v1.0, Component v1.2.7) MCA maffinity: first_use (MCA v1.0, API v1.0, Component v1.2.7) MCA timer: linux (MCA v1.0, API v1.0, Component v1.2.7) MCA installdirs: env (MCA v1.0, API v1.0, Component v1.2.7) MCA installdirs: config (MCA v1.0, API v1.0, Component v1.2.7) MCA allocator: basic (MCA v1.0, API v1.0, Component v1.0) MCA allocator: bucket (MCA v1.0, API v1.0, Component v1.0) MCA coll: basic (MCA v1.0, API v1.0, Component v1.2.7) MCA coll: self (MCA v1.0, API v1.0, Component v1.2.7) MCA coll: sm (MCA v1.0, API v1.0, Component v1.2.7) MCA coll: tuned (MCA v1.0, API v1.0, Component v1.2.7) MCA io: romio (MCA v1.0, API v1.0, Component v1.2.7) MCA mpool: rdma (MCA v1.0, API v1.0, Component v1.2.7) MCA mpool: sm (MCA v1.0, API v1.0, Component v1.2.7) MCA pml: cm (MCA v1.0, API v1.0, Component v1.2.7) MCA pml: ob1 (MCA v1.0, API v1.0, Component v1.2.7) MCA bml: r2 (MCA v1.0, API v1.0, Component v1.2.7) MCA rcache: vma (MCA v1.0, API v1.0, Component v1.2.7) MCA btl: openib (MCA v1.0, API v1.0.1, Component v1.2.7) MCA btl: self (MCA v1.0, API v1.0.1, Component v1.2.7) MCA btl: sm (MCA v1.0, API v1.0.1, Component v1.2.7) MCA btl: tcp (MCA v1.0, API v1.0.1, Component v1.0) MCA topo: unity (MCA v1.0, API v1.0, Component v1.2.7) MCA osc: pt2pt (MCA v1.0, API v1.0, Component v1.2.7) MCA errmgr: hnp (MCA v1.0, API v1.3, Component v1.2.7) MCA errmgr: orted (MCA v1.0, API v1.3, Component v1.2.7) MCA errmgr: proxy (MCA v1.0, API v1.3, Component v1.2.7) MCA gpr: null (MCA v1.0, API v1.0, Component v1.2.7) MCA gpr: proxy (MCA v1.0, API v1.0, Component v1.2.7) MCA gpr: replica (MCA v1.0, API v1.0, Component v1.2.7) MCA iof: proxy (MCA v1.0, API v1.0, Component v1.2.7) MCA iof: svc (MCA v1.0, API v1.0, Component v1.2.7) MCA ns: proxy (MCA v1.0, API v2.0, Component v1.2.7) MCA ns: replica (MCA v1.0, API v2.0, Component v1.2.7) MCA oob: tcp (MCA v1.0, API v1.0, Component v1.0) MCA ras: dash_host (MCA v1.0, API v1.3, Component v1.2.7) MCA ras: gridengine (MCA v1.0, API v1.3, Component v1.2.7) MCA ras: localhost (MCA v1.0, API v1.3, Component v1.2.7) MCA ras: slurm (MCA v1.0, API v1.3, Component v1.2.7) MCA rds: hostfile (MCA v1.0, API v1.3, Component v1.2.7) MCA rds: proxy (MCA v1.0, API v1.3, Component v1.2.7) MCA rds: resfile (MCA v1.0, API v1.3, Component v1.2.7) MCA rmaps: round_robin (MCA v1.0, API v1.3, Component v1.2.7) MCA rmgr: proxy (MCA v1.0, API v2.0, Component v1.2.7) MCA rmgr: urm (MCA v1.0, API v2.0, Component v1.2.7) MCA rml: oob (MCA v1.0, API v1.0, Component v1.2.7) MCA pls: gridengine (MCA v1.0, API v1.3, Component v1.2.7) MCA pls: proxy (MCA v1.0, API v1.3, Component v1.2.7) MCA pls: rsh (MCA v1.0, API v1.3, Component v1.2.7) MCA pls: slurm (MCA v1.0, API v1.3, Component v1.2.7) MCA sds: env (MCA v1.0, API v1.0, Component v1.2.7) MCA sds: pipe (MCA v1.0, API v1.0, Component v1.2.7) MCA sds: seed (MCA v1.0, API v1.0, Component v1.2.7) MCA sds: singleton (MCA v1.0, API v1.0, Component v1.2.7) MCA sds: slurm (MCA v1.0, API v1.0, Component v1.2.7)
>ompi_info Package: Open MPI p10015@ha8000-1 Distribution Open MPI: 1.4.2 Open MPI SVN revision: r23093 Open MPI release date: May 04, 2010 Open RTE: 1.4.2 Open RTE SVN revision: r23093 Open RTE release date: May 04, 2010 OPAL: 1.4.2 OPAL SVN revision: r23093 OPAL release date: May 04, 2010 Ident string: 1.4.2 Prefix: /home/p10015/openmpi Configured architecture: x86_64-unknown-linux-gnu Configure host: ha8000-1 Configured by: p10015 Configured on: Wed May 19 19:01:19 JST 2010 Configure host: ha8000-1 Built by: p10015 Built on: Wed May 19 21:03:33 JST 2010 Built host: ha8000-1 C bindings: yes C++ bindings: yes Fortran77 bindings: yes (all) Fortran90 bindings: yes Fortran90 bindings size: small C compiler: /home/p10015/gcc/bin/x86_64-unknown-linux-gnu-gcc-4.5.0 C compiler absolute: C++ compiler: /home/p10015/gcc/bin/x86_64-unknown-linux-gnu-g++ C++ compiler absolute: Fortran77 compiler: gfortran Fortran77 compiler abs: /usr/bin/gfortran Fortran90 compiler: gfortran Fortran90 compiler abs: /usr/bin/gfortran C profiling: yes C++ profiling: yes Fortran77 profiling: yes Fortran90 profiling: yes C++ exceptions: no Thread support: posix (mpi: yes, progress: yes) Sparse Groups: yes Internal debug support: no MPI parameter check: runtime Memory profiling support: no Memory debugging support: no libltdl support: yes Heterogeneous support: yes mpirun default --prefix: yes MPI I/O support: yes MPI_WTIME support: gettimeofday Symbol visibility support: yes FT Checkpoint support: no (checkpoint thread: no) MCA backtrace: execinfo (MCA v2.0, API v2.0, Component v1.4.2) MCA memory: ptmalloc2 (MCA v2.0, API v2.0, Component v1.4.2) MCA paffinity: linux (MCA v2.0, API v2.0, Component v1.4.2) MCA carto: auto_detect (MCA v2.0, API v2.0, Component v1.4.2) MCA carto: file (MCA v2.0, API v2.0, Component v1.4.2) MCA maffinity: first_use (MCA v2.0, API v2.0, Component v1.4.2) MCA maffinity: libnuma (MCA v2.0, API v2.0, Component v1.4.2) MCA timer: linux (MCA v2.0, API v2.0, Component v1.4.2) MCA installdirs: env (MCA v2.0, API v2.0, Component v1.4.2) MCA installdirs: config (MCA v2.0, API v2.0, Component v1.4.2) MCA dpm: orte (MCA v2.0, API v2.0, Component v1.4.2) MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.4.2) MCA allocator: basic (MCA v2.0, API v2.0, Component v1.4.2) MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: basic (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: inter (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: self (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: sm (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: sync (MCA v2.0, API v2.0, Component v1.4.2) MCA coll: tuned (MCA v2.0, API v2.0, Component v1.4.2) MCA io: romio (MCA v2.0, API v2.0, Component v1.4.2) MCA mpool: fake (MCA v2.0, API v2.0, Component v1.4.2) MCA mpool: rdma (MCA v2.0, API v2.0, Component v1.4.2) MCA mpool: sm (MCA v2.0, API v2.0, Component v1.4.2) MCA pml: cm (MCA v2.0, API v2.0, Component v1.4.2) MCA pml: csum (MCA v2.0, API v2.0, Component v1.4.2) MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.4.2) MCA pml: v (MCA v2.0, API v2.0, Component v1.4.2) MCA bml: r2 (MCA v2.0, API v2.0, Component v1.4.2) MCA rcache: vma (MCA v2.0, API v2.0, Component v1.4.2) MCA btl: self (MCA v2.0, API v2.0, Component v1.4.2) MCA btl: sm (MCA v2.0, API v2.0, Component v1.4.2) MCA btl: tcp (MCA v2.0, API v2.0, Component v1.4.2) MCA topo: unity (MCA v2.0, API v2.0, Component v1.4.2) MCA osc: pt2pt (MCA v2.0, API v2.0, Component v1.4.2) MCA osc: rdma (MCA v2.0, API v2.0, Component v1.4.2) MCA iof: hnp (MCA v2.0, API v2.0, Component v1.4.2) MCA iof: orted (MCA v2.0, API v2.0, Component v1.4.2) MCA iof: tool (MCA v2.0, API v2.0, Component v1.4.2) MCA oob: tcp (MCA v2.0, API v2.0, Component v1.4.2) MCA odls: default (MCA v2.0, API v2.0, Component v1.4.2) MCA ras: slurm (MCA v2.0, API v2.0, Component v1.4.2) MCA rmaps: load_balance (MCA v2.0, API v2.0, Component v1.4.2) MCA rmaps: rank_file (MCA v2.0, API v2.0, Component v1.4.2) MCA rmaps: round_robin (MCA v2.0, API v2.0, Component v1.4.2) MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.4.2) MCA rml: oob (MCA v2.0, API v2.0, Component v1.4.2) MCA routed: binomial (MCA v2.0, API v2.0, Component v1.4.2) MCA routed: direct (MCA v2.0, API v2.0, Component v1.4.2) MCA routed: linear (MCA v2.0, API v2.0, Component v1.4.2) MCA plm: rsh (MCA v2.0, API v2.0, Component v1.4.2) MCA plm: slurm (MCA v2.0, API v2.0, Component v1.4.2) MCA filem: rsh (MCA v2.0, API v2.0, Component v1.4.2) MCA errmgr: default (MCA v2.0, API v2.0, Component v1.4.2) MCA ess: env (MCA v2.0, API v2.0, Component v1.4.2) MCA ess: hnp (MCA v2.0, API v2.0, Component v1.4.2) MCA ess: singleton (MCA v2.0, API v2.0, Component v1.4.2) MCA ess: slurm (MCA v2.0, API v2.0, Component v1.4.2) MCA ess: tool (MCA v2.0, API v2.0, Component v1.4.2) MCA grpcomm: bad (MCA v2.0, API v2.0, Component v1.4.2) MCA grpcomm: basic (MCA v2.0, API v2.0, Component v1.4.2)