On May 10, 2011, at 08:10 , Tim Prince wrote: > On 5/10/2011 6:43 AM, francoise.r...@obs.ujf-grenoble.fr wrote: >> >> Hi, >> >> I compile a parallel program with OpenMPI 1.4.1 (compiled with intel >> compilers 12 from composerxe package) . This program is linked to MUMPS >> library 4.9.2, compiled with the same compilers and link with intel MKL. >> The OS is linux debian. >> No error in compiling or running the job, but the program freeze inside >> a call to "zmumps" routine, when the slaves process call MPI_COMM_DUP >> routine. >> >> The program is executed on 2 nodes of 12 cores each (westmere >> processors) with the following command : >> >> mpirun -np 24 --machinefile $OAR_NODE_FILE -mca plm_rsh_agent "oarsh" >> --mca btl self,openib -x LD_LIBRARY_PATH ./prog >> >> We have 12 process running on each node. We submit the job with OAR >> batch scheduler (the $OAR_NODE_FILE variable and "oarsh" command are >> specific to this scheduler and are usually working well with openmpi ) >> >> via gdb, on the slaves, we can see that they are blocked in MPI_COMM_DUP :
Francoise, Based on your traces the workers and the master are not doing the same MPI call. The workers are blocked in an MPI_Comm_dup in sub_pbdirect_init.f90:44, while the master is blocked in an MPI_Barrier in sub_pbdirect_init.f90:62. Can you verify that the slaves and the master are calling the MPI_Barrier and the MPI_Comm_dup in the same logical order? george. >> >> (gdb) where >> #0 0x00002b32c1533113 in poll () from /lib/libc.so.6 >> #1 0x0000000000adf52c in poll_dispatch () >> #2 0x0000000000adcea3 in opal_event_loop () >> #3 0x0000000000ad69f9 in opal_progress () >> #4 0x0000000000a34b4e in mca_pml_ob1_recv () >> #5 0x00000000009b0768 in >> ompi_coll_tuned_allreduce_intra_recursivedoubling () >> #6 0x00000000009ac829 in ompi_coll_tuned_allreduce_intra_dec_fixed () >> #7 0x000000000097e271 in ompi_comm_allreduce_intra () >> #8 0x000000000097dd06 in ompi_comm_nextcid () >> #9 0x000000000097be01 in ompi_comm_dup () >> #10 0x00000000009a0785 in PMPI_Comm_dup () >> #11 0x000000000097931d in pmpi_comm_dup__ () >> #12 0x0000000000644251 in zmumps (id=...) at zmumps_part1.F:144 >> #13 0x00000000004c0d03 in sub_pbdirect_init (id=..., matrix_build=...) >> at sub_pbdirect_init.f90:44 >> #14 0x0000000000628706 in fwt2d_elas_v2 () at fwt2d_elas.f90:1048 >> >> >> the master wait further : >> >> (gdb) where >> #0 0x00002b9dc9f3e113 in poll () from /lib/libc.so.6 >> #1 0x0000000000adf52c in poll_dispatch () >> #2 0x0000000000adcea3 in opal_event_loop () >> #3 0x0000000000ad69f9 in opal_progress () >> #4 0x000000000098f294 in ompi_request_default_wait_all () >> #5 0x0000000000a06e56 in ompi_coll_tuned_sendrecv_actual () >> #6 0x00000000009ab8e3 in ompi_coll_tuned_barrier_intra_bruck () >> #7 0x00000000009ac926 in ompi_coll_tuned_barrier_intra_dec_fixed () >> #8 0x00000000009a0b20 in PMPI_Barrier () >> #9 0x0000000000978c93 in pmpi_barrier__ () >> #10 0x00000000004c0dc4 in sub_pbdirect_init (id=..., matrix_build=...) >> at sub_pbdirect_init.f90:62 >> #11 0x0000000000628706 in fwt2d_elas_v2 () at fwt2d_elas.f90:1048 >> >> >> Remark : >> The same code compiled and run well with intel MPI library, from the >> same intel package, on the same nodes. >> > Did you try compiling with equivalent options in each compiler? For example, > (supposing you had gcc 4.6) > gcc -O3 -funroll-loops --param max-unroll-times=2 -march=corei7 > would be equivalent (as closely as I know) to > icc -fp-model source -msse4.2 -ansi-alias > > As you should be aware, default settings in icc are more closely equivalent to > gcc -O3 -ffast-math -fno-cx-limited-range -funroll-loops --param > max-unroll-times=2 -fnostrict-aliasing > > The options I suggest as an upper limit are probably more aggressive than > most people have used successfully with OpenMPI. > > As to run-time MPI options, Intel MPI has affinity with Westmere awareness > turned on by default. I suppose testing without affinity settings, > particularly when banging against all hyperthreads, is a more severe test of > your application. Don't you get better results at 1 rank per core? > -- > Tim Prince > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users "To preserve the freedom of the human mind then and freedom of the press, every spirit should be ready to devote itself to martyrdom; for as long as we may think as we will, and speak as we think, the condition of man will proceed in improvement." -- Thomas Jefferson, 1799