The thought occurs to me... (disclaimer: I know just about zero about OpenFoam 
and how to install/use it)

If your customer has been dealing with binaries, I wonder if there is some kind 
of ABI incompatibility going on here.  Open MPI did not provide any ABI 
guarantees until Open MPI v1.3.2 -- see 
http://www.open-mpi.org/software/ompi/versions/ for details.

Also, Open MPI v1.3.2 is a bit old.  There have been many bug fixes since then 
-- 1.4.4 is the latest stable.  There will be a 1.4.5 shortly, but that will be 
the last on the 1.4 series.


On Jan 19, 2012, at 5:51 AM, Theiner, Andre wrote:

> Hi all,
> I have to stop my investigations and repairs on the request of my customer.
> I will unsubscribe from this list soon.
> 
> I found out that OpenFoam does not use threaded MPI-calls.
> My next step would have been to compile openmpi-1.4.4 and have the user try 
> this.
> In case it would have also not worked I would have compiled the whole 
> OpenFoam from the sources.
> Up to now the user uses a rpm binary version of OF 2.0.1.
> 
> Thanks for all your  support.
> 
> 
> Andre
> 
> 
> -----Original Message-----
> From: Theiner, Andre
> Sent: Mittwoch, 18. Januar 2012 10:15
> To: 'Open MPI Users'
> Subject: RE: [OMPI users] mpirun hangs when used on more than 2 CPUs ( mpirun 
> compiled without thread support )
> Importance: High
> 
> Thanks, Jeff and Ralph for your good help.
> I do not know yet, whether OpenFoam uses threads with OpenMPI but I will find 
> out.
> 
> I ran "ompi_info" and it output the lines in the next chapter.
> The important line is " Thread support: posix (mpi: no, progress: no)".
> At first sight the above line made me think that I found the cause of the 
> problem
> but I compared the output to the output of the same command run on another 
> machine
> where OpenFoam runs fine. The OpenMPI version of that machine is 1.3.2-1.1 
> and it
> also does not have thread support.
> The difference though is that that machine's OpenFoam version is 1.7.1 and 
> not 2.0.1 and the
> OS is SUSE Linux Enterprise Desktop 11 SP1 and not openSUSE 11.3.
> So I am at the beginning of the search for the cause of the problem.
> 
>                 Package: Open MPI abuild@build30 Distribution
>                Open MPI: 1.3.2
>   Open MPI SVN revision: r21054
>   Open MPI release date: Apr 21, 2009
>                Open RTE: 1.3.2
>   Open RTE SVN revision: r21054
>   Open RTE release date: Apr 21, 2009
>                    OPAL: 1.3.2
>       OPAL SVN revision: r21054
>       OPAL release date: Apr 21, 2009
>            Ident string: 1.3.2
>                  Prefix: /usr/lib64/mpi/gcc/openmpi
> Configured architecture: x86_64-unknown-linux-gnu
>          Configure host: build30
>           Configured by: abuild
>           Configured on: Fri Sep 23 05:58:54 UTC 2011
>          Configure host: build30
>                Built by: abuild
>                Built on: Fri Sep 23 06:11:31 UTC 2011
>              Built host: build30
>              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)
>           Sparse Groups: no
>  Internal debug support: no
>     MPI parameter check: runtime
> Memory profiling support: no
> Memory debugging support: no
>         libltdl support: yes
>   Heterogeneous support: no
> mpirun default --prefix: no
>         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.3.2)
>              MCA memory: ptmalloc2 (MCA v2.0, API v2.0, Component v1.3.2)
>           MCA paffinity: linux (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA carto: auto_detect (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA carto: file (MCA v2.0, API v2.0, Component v1.3.2)
>           MCA maffinity: first_use (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA timer: linux (MCA v2.0, API v2.0, Component v1.3.2)
>         MCA installdirs: env (MCA v2.0, API v2.0, Component v1.3.2)
>         MCA installdirs: config (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA dpm: orte (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.3.2)
>           MCA allocator: basic (MCA v2.0, API v2.0, Component v1.3.2)
>           MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: basic (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: inter (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: self (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: sm (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: sync (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA coll: tuned (MCA v2.0, API v2.0, Component v1.3.2)
>                  MCA io: romio (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA mpool: fake (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA mpool: rdma (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA mpool: sm (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA pml: cm (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA pml: csum (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA pml: v (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA bml: r2 (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA rcache: vma (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA btl: self (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA btl: sm (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA btl: tcp (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA topo: unity (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA osc: pt2pt (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA osc: rdma (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA iof: hnp (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA iof: orted (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA iof: tool (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA oob: tcp (MCA v2.0, API v2.0, Component v1.3.2)
>                MCA odls: default (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ras: slurm (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA rmaps: rank_file (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA rmaps: round_robin (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA rml: oob (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA routed: binomial (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA routed: direct (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA routed: linear (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA plm: rsh (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA plm: slurm (MCA v2.0, API v2.0, Component v1.3.2)
>               MCA filem: rsh (MCA v2.0, API v2.0, Component v1.3.2)
>              MCA errmgr: default (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ess: env (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ess: hnp (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ess: singleton (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ess: slurm (MCA v2.0, API v2.0, Component v1.3.2)
>                 MCA ess: tool (MCA v2.0, API v2.0, Component v1.3.2)
>             MCA grpcomm: bad (MCA v2.0, API v2.0, Component v1.3.2)
>             MCA grpcomm: basic (MCA v2.0, API v2.0, Component v1.3.2)
> 
> 
> I also have requested the user to run the following adaption to his original
> command "mpriun -np 9 interFoam -parallel". I hoped to get a kind of debug 
> output
> which points me into the right way. The new command did not work and I am a 
> bit lost.
> Is the syntax wrong somehow or is there a problem in the user's PATH?
> I do not understand what debugger is wanted. Does mpirun not have an internal 
> debugger?
> 
> testuser@caelde04:~/OpenFOAM/testuser-2.0.1/nozzleFlow2D> mpirun -v --debug 
> --debug-daemons -np 9 interfoam -parallel
> --------------------------------------------------------------------------
> A suitable debugger could not be found in your PATH.
> Check the values specified in the orte_base_user_debugger MCA parameter for 
> the list of debuggers that was searched.
> 
> 
> 
> 
> Gruss/Regards
> 
> Andre
> Tel. 05362-936222
> 
> 
> -----Original Message-----
> From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On 
> Behalf Of Jeff Squyres
> Sent: Dienstag, 17. Januar 2012 22:53
> To: Open MPI Users
> Subject: Re: [OMPI users] mpirun hangs when used on more than 2 CPUs
> 
> You should probably also run the ompi_info command; it tells you details 
> about your installation, and how it was configured.
> 
> Is it known that OpenFoam uses threads with MPI?
> 
> 
> On Jan 17, 2012, at 9:08 AM, Ralph Castain wrote:
> 
>> You might first just try running a simple MPI "hello" to verify the 
>> installation. I don't know if OF is threaded or not.
>> 
>> Sent from my iPad
>> 
>> On Jan 17, 2012, at 5:22 AM, John Hearns <hear...@googlemail.com> wrote:
>> 
>>> Andre,
>>> you should not need the OpenMPI sources.
>>> 
>>> Install the openmpi-devel package from the same source
>>> (zypper install openmpi-devel if you have that science repository enabled)
>>> This will give you the mpi.h file and other include files, libraries
>>> and manual pages.
>>> 
>>> That is a convention in Suse-style distros - the devel package
>>> contains the stuf you need to 'develop'
>>> 
>>> On 17/01/2012, Theiner, Andre <andre.thei...@hp.com> wrote:
>>>> Hi Devendra,
>>>> thanks for your interesting answer, up to now I expected to get a fully
>>>> operational openmpi installation package
>>>> by installing openmpi from the "science" repository (
>>>> http://download.opensuse.org/repositories/science/openSUSE_11.3"; ).
>>>> To compile your script I need to have the openmpi sources which I do not
>>>> have at present, I will try to get them.
>>>> How do I compile and build using multiple processors?
>>>> Is there a special flag which tells the compiler to care for multiple CPUs?
>>>> 
>>>> Andre
>>>> 
>>>> 
>>>> From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On
>>>> Behalf Of devendra rai
>>>> Sent: Montag, 16. Januar 2012 13:25
>>>> To: Open MPI Users
>>>> Subject: Re: [OMPI users] mpirun hangs when used on more than 2 CPUs
>>>> 
>>>> Hello Andre,
>>>> 
>>>> It may be possible that your openmpi does not support threaded MPI-calls 
>>>> (if
>>>> these are happening). I had a similar problem, and it was traced to this
>>>> cause. If you installed your openmpi from available repositories, chances
>>>> are that you do not have thread-support.
>>>> 
>>>> Here's a small script that you can use to determine whether or not you have
>>>> thread support:
>>>> 
>>>> #include <mpi.h>
>>>> #include <iostream>
>>>> int main(int argc, char **argv)
>>>> {
>>>> int myrank;
>>>> int desired_thread_support = MPI_THREAD_MULTIPLE;
>>>> int provided_thread_support;
>>>> 
>>>> MPI_Init_thread(&argc, &argv, desired_thread_support,
>>>> &provided_thread_support);
>>>> 
>>>> /* check if the thread support has been provided */
>>>> if (provided_thread_support!=desired_thread_support)
>>>>  {
>>>>    std::cout << "MPI thread support not available! Aborted. " <<
>>>> std::endl;
>>>>    exit(-1);
>>>>  }
>>>> MPI_Finalize();
>>>> return 0;
>>>> }
>>>> 
>>>> Compile and build as usual, using multiple processors.
>>>> 
>>>> Maybe this helps. If you do discover that you do not have support 
>>>> available,
>>>> you will need to rebuild MPI with --enable-mpi-threads=yes flag.
>>>> 
>>>> HTH.
>>>> 
>>>> 
>>>> Devendra
>>>> 
>>>> ________________________________
>>>> From: "Theiner, Andre" <andre.thei...@hp.com>
>>>> To: "us...@open-mpi.org" <us...@open-mpi.org>
>>>> Sent: Monday, 16 January 2012, 11:55
>>>> Subject: [OMPI users] mpirun hangs when used on more than 2 CPUs
>>>> 
>>>> 
>>>> Hi everyone,
>>>> may I have your help on a strange problem?
>>>> High performance computing is new to me and I have not much idea about
>>>> OpenMPI and OpenFoam (OF) which uses the "mpirun" command.
>>>> I have to support the OF application in my company and have been trying to
>>>> find the problem since about 1 week.
>>>> The versions are openmpi-1.3.2 and OF 2.0.1 which are running on openSUSE
>>>> 11.3 x86_64.
>>>> The computer is brand new, has 96 GB RAM, 12 CPUs and was installed with
>>>> Linux some weeks ago.
>>>> I installed OF 2.0.1 according to the vendors instructions at
>>>> http://www.openfoam.org/archive/2.0.1/download/suse.php.
>>>> 
>>>> Here the problem:
>>>> The experienced user tested the OF with a test case out of one of the
>>>> vendors tutorials.
>>>> He only used the computing power of his local machine "caelde04" , no other
>>>> computers were accessed by mpirun.
>>>> 
>>>> He found no problem when testing in single "processor mode" but in
>>>> "multiprocessor mode" his calculations hangs when he distributes
>>>> the calculations to more than 2 CPUs. The OF vendor thinks this is an
>>>> OpenMPI problem somehow and that is why I am trying to get
>>>> help from this forum here.
>>>> I attached 2 files, one is the "decomposeParDict" which resides in the
>>>> "system" subdirectory of his test case and the other is the log file
>>>> from the "decomposePar" command and the mpirun command "mpirun -np 9
>>>> interFoam -parallel".
>>>> Do you have an idea where the problem is or how I can narrow it down?
>>>> Thanks much for any help.
>>>> 
>>>> Andre
>>>> 
>>>> 
>>>> _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org<mailto:us...@open-mpi.org>
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to