Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] curious behavior during wait for broadcast: 100% cpu
From: Hicham Mouline (hicham_at_[hidden])
Date: 2010-12-08 10:08:01


Hello,

on win32 openmpi 1.4.3, I have a slave process that reaches this pseudo-code and then blocks and the CPU usage for that process stays at 25% all the time (I have a quadcore processor). When I set the affinity to 1 of the cores, that core is 100% busy because of my slave process.

main()
{
....
.....
MPI_ISEND

std::cout<< "about to get broadcast"<<std::endl;
MPI_Bcast of an integer
std::cout<< " broadcast received"<<std::endl;
...
}

The first printout is seen but not the next which makes me thing the process is inside the MPI_Bcast call. Should the CPU be 100% busy while this call is waiting for the broadcast message to arrive?

Any ideas? below the output of ompi-info:
------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Package: Open MPI
                          Distribution
                Open MPI: 1.4.3
   Open MPI SVN revision: r23834
   Open MPI release date: Oct 05, 2010
                Open RTE: 1.4.3
   Open RTE SVN revision: r23834
   Open RTE release date: Oct 05, 2010
                    OPAL: 1.4.3
       OPAL SVN revision: r23834
       OPAL release date: Oct 05, 2010
            Ident string: 1.4.3
                  Prefix: C:/Program Files/openmpi
 Configured architecture: x86 Windows-5.1
          Configure host: LC12-003-D-055A
           Configured by: hicham.mouline
           Configured on: 18:07 19/11/2010
          Configure host:
                Built by: hicham.mouline
                Built on: 18:07 19/11/2010
              Built host:
              C bindings: yes
            C++ bindings: yes
      Fortran77 bindings: no
      Fortran90 bindings: no
 Fortran90 bindings size: na
              C compiler: C:/Program Files/Microsoft Visual Studio
                          9.0/VC/bin/cl.exe
     C compiler absolute: C:/Program Files/Microsoft Visual Studio
                          9.0/VC/bin/cl.exe
            C++ compiler: C:/Program Files/Microsoft Visual Studio
                          9.0/VC/bin/cl.exe
   C++ compiler absolute: C:/Program Files/Microsoft Visual Studio
                          9.0/VC/bin/cl.exe
      Fortran77 compiler: CMAKE_Fortran_COMPILER-NOTFOUND
  Fortran77 compiler abs: none
      Fortran90 compiler:
  Fortran90 compiler abs: none
             C profiling: yes
           C++ profiling: yes
     Fortran77 profiling: no
     Fortran90 profiling: no
          C++ exceptions: no
          Thread support: no
           Sparse Groups: no
  Internal debug support: no
     MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
         libltdl support: no
   Heterogeneous support: no
 mpirun default --prefix: yes
         MPI I/O support: yes
       MPI_WTIME support: gettimeofday
Symbol visibility support: yes
   FT Checkpoint support: yes (checkpoint thread: no)
           MCA backtrace: none (MCA v2.0, API v2.0, Component v1.4.3)
           MCA paffinity: windows (MCA v2.0, API v2.0, Component v1.4.3)
               MCA carto: auto_detect (MCA v2.0, API v2.0, Component v1.4.3)
           MCA maffinity: first_use (MCA v2.0, API v2.0, Component v1.4.3)
               MCA timer: windows (MCA v2.0, API v2.0, Component v1.4.3)
         MCA installdirs: windows (MCA v2.0, API v2.0, Component v1.4.3)
         MCA installdirs: env (MCA v2.0, API v2.0, Component v1.4.3)
         MCA installdirs: config (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA crs: none (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA dpm: orte (MCA v2.0, API v2.0, Component v1.4.3)
              MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.4.3)
           MCA allocator: basic (MCA v2.0, API v2.0, Component v1.4.3)
           MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.4.3)
                MCA coll: basic (MCA v2.0, API v2.0, Component v1.4.3)
                MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.4.3)
                MCA coll: self (MCA v2.0, API v2.0, Component v1.4.3)
                MCA coll: sm (MCA v2.0, API v2.0, Component v1.4.3)
                MCA coll: sync (MCA v2.0, API v2.0, Component v1.4.3)
               MCA mpool: rdma (MCA v2.0, API v2.0, Component v1.4.3)
               MCA mpool: sm (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA bml: r2 (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA btl: self (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA btl: sm (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA btl: tcp (MCA v2.0, API v2.0, Component v1.4.3)
                MCA topo: unity (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA osc: pt2pt (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA osc: rdma (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA iof: hnp (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA iof: orted (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA iof: tool (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA oob: tcp (MCA v2.0, API v2.0, Component v1.4.3)
                MCA odls: process (MCA v2.0, API v2.0, Component v1.4.3)
               MCA rmaps: round_robin (MCA v2.0, API v2.0, Component v1.4.3)
               MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA rml: ftrm (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA rml: oob (MCA v2.0, API v2.0, Component v1.4.3)
              MCA routed: binomial (MCA v2.0, API v2.0, Component v1.4.3)
              MCA routed: linear (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA plm: process (MCA v2.0, API v2.0, Component v1.4.3)
              MCA errmgr: default (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA ess: env (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA ess: hnp (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA ess: singleton (MCA v2.0, API v2.0, Component v1.4.3)
                 MCA ess: tool (MCA v2.0, API v2.0, Component v1.4.3)
             MCA grpcomm: basic (MCA v2.0, API v2.0, Component v1.4.3)

regards,