[OMPI users] file `opal/mca/hwloc/hwloc131/configure.m4' does not exist in svn repo

2012-03-20 Thread Ilias Miroslav
Dear all,

I updated ompi-trunk to the most recent trunk:

il...@frpd2.utcpd.sk:~/bin/openmpi_i32lp64_intel_static/ompi-trunk/.svn info
Path: .
URL: http://svn.open-mpi.org/svn/ompi/trunk
Repository Root: http://svn.open-mpi.org/svn/ompi
Repository UUID: 63e3feb5-37d5-0310-a306-e8a459e722fe
Revision: 26166
Node Kind: directory
Schedule: normal
Last Changed Author: miked
Last Changed Rev: 26166
Last Changed Date: 2012-03-20 11:00:52 +0100 (Tue, 20 Mar 2012)

and did configure, which returned with this error:

../configure --prefix=/home/ilias/bin/openmpi_i32lp64_intel_static 
--without-memory-manager CXX=icpc CC=icc F77=ifort FC=ifort LDFLAGS=--static 
--disable-share  --enable-static
. 
. 
. 
config.status: orte/include/orte_config.h is unchanged
config.status: creating ompi/include/ompi_config.h
config.status: ompi/include/ompi_config.h is unchanged
config.status: creating ompi/include/mpi.h
config.status: error: cannot find input file: 
`opal/mca/hwloc/hwloc131/hwloc/include/private/autogen/config.h.in'
il...@frpd2.utcpd.sk:~/bin/openmpi_i32lp64_intel_static/ompi-trunk/.make all 
install
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh 
/home/ilias/bin/openmpi_i32lp64_intel_static/ompi-trunk/config/missing --run 
aclocal-1.11 -I config
aclocal-1.11: config/autogen_found_items.m4:286: file 
`opal/mca/hwloc/hwloc131/configure.m4' does not exist
make: *** [aclocal.m4] Error 1

Miro



Re: [OMPI users] file `opal/mca/hwloc/hwloc131/configure.m4' does not exist in svn repo

2012-03-20 Thread Jeffrey Squyres
Did you run autogen.pl?

(if you're working with the Open MPI trunk for development reasons, you might 
want to post to the de...@open-mpi.org list, not the general users list)


On Mar 20, 2012, at 8:31 AM, Ilias Miroslav wrote:

> Dear all,
> 
> I updated ompi-trunk to the most recent trunk:
> 
> il...@frpd2.utcpd.sk:~/bin/openmpi_i32lp64_intel_static/ompi-trunk/.svn info
> Path: .
> URL: http://svn.open-mpi.org/svn/ompi/trunk
> Repository Root: http://svn.open-mpi.org/svn/ompi
> Repository UUID: 63e3feb5-37d5-0310-a306-e8a459e722fe
> Revision: 26166
> Node Kind: directory
> Schedule: normal
> Last Changed Author: miked
> Last Changed Rev: 26166
> Last Changed Date: 2012-03-20 11:00:52 +0100 (Tue, 20 Mar 2012)
> 
> and did configure, which returned with this error:
> 
> ../configure --prefix=/home/ilias/bin/openmpi_i32lp64_intel_static 
> --without-memory-manager CXX=icpc CC=icc F77=ifort FC=ifort LDFLAGS=--static 
> --disable-share  --enable-static
> .
> .
> .
> config.status: orte/include/orte_config.h is unchanged
> config.status: creating ompi/include/ompi_config.h
> config.status: ompi/include/ompi_config.h is unchanged
> config.status: creating ompi/include/mpi.h
> config.status: error: cannot find input file: 
> `opal/mca/hwloc/hwloc131/hwloc/include/private/autogen/config.h.in'
> il...@frpd2.utcpd.sk:~/bin/openmpi_i32lp64_intel_static/ompi-trunk/.make all 
> install
> CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh 
> /home/ilias/bin/openmpi_i32lp64_intel_static/ompi-trunk/config/missing --run 
> aclocal-1.11 -I config
> aclocal-1.11: config/autogen_found_items.m4:286: file 
> `opal/mca/hwloc/hwloc131/configure.m4' does not exist
> make: *** [aclocal.m4] Error 1
> 
> Miro
> 
> ___
> 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/




[OMPI users] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Gunter, David O
I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel 10.0 
compiler, but on a newer system in which the default g++ headers are 
incompatible with Intel. Thus the C and Fortran compilers function normally but 
the Intel C++ compiler fails to build even a simple "hello world" code.

Is there a way to build OMPI without a C++ compiler?  I tried using the 
--disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just for the 
resulting bindings. The configure step still continues to search for a working 
C++ compiler.

Yes, I know I can upgrade the Intel compiler but we don't have that as an 
option in this case.

Thanks,
david
--
David Gunter
HPC-3: Infrastructure Team
Los Alamos National Laboratory







Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Barrett, Brian W
On 3/20/12 10:06 AM, "Gunter, David O"  wrote:

>I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel 10.0
>compiler, but on a newer system in which the default g++ headers are
>incompatible with Intel. Thus the C and Fortran compilers function
>normally but the Intel C++ compiler fails to build even a simple "hello
>world" code.
>
>Is there a way to build OMPI without a C++ compiler?  I tried using the
>--disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just for
>the resulting bindings. The configure step still continues to search for
>a working C++ compiler.
>
>Yes, I know I can upgrade the Intel compiler but we don't have that as an
>option in this case.

Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++ even
if you're not building the C++ bindings.  This is not true of 1.5.x and
later.

If you don't need the C++ bindings, I would build Open MPI with GNU C and
C++ and Intel Fortran.  After building, edit
/share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
line to compiler=.  There's not going to be much
performance difference between the two compilers for Open MPI itself.  GNU
C and Intel C are link compatible, so that should work out for you and the
users will never be the wiser.

Brian

-- 
  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories








Re: [OMPI users] Problem with MPI_Barrier (Inter-communicator)

2012-03-20 Thread Edgar Gabriel
do you have by any chance the actual or a small reproducer? It might be
much easier to hunt the problem down...

Thanks
Edgar

On 3/19/2012 8:12 PM, Rodrigo Oliveira wrote:
> Hi there.
> 
> I am facing a very strange problem when using MPI_Barrier over an
> inter-communicator after some operations I describe bellow:
> 
> 1) I start a server calling mpirun.
> 2) The server spawns 2 copies of a client using MPI_Comm_spawn, creating
> an inter-communicator between the two groups. The server group with 1
> process (lets name it as A) and the client group with 2 processes (group B).
> 3) After that, I need to detach one of the processes (rank 0) in group B
> from the inter-communicator AB. To do that I do the following steps:
> 
> Server side:
> .
> tmp_inter_comm = client_comm.Create ( client_comm.Get_group ( ) );
> client_comm.Free ( );
> client_comm = tmp_inter_comm;
> .
> client_comm.Barrier();
> .
> 
> Client side:
> 
> rank = 0;
> tmp_inter_comm = server_comm.Create ( server_comm.Get_group (
> ).Excl ( 1, &rank ) );
> server_comm.Free ( );
> server_comm = tmp_inter_comm;
> .
> if (server_comm != MPI::COMM_NULL)
> server_comm.Barrier();
> 
> 
> The problem: everything works fine until the call to Barrier. In that
> point, the server exits the barrier, but the client at the group B does
> not. Observe that we have only one process inside B, because I used Excl
> to remove one process from the original group.
> 
> p.s.: This occurs in the version 1.5.4 and the C++ API.
> 
> I am very concerned about this problem because this solution plays a
> very important role in my master thesis.
> 
> Is this an ompi problem or am I doing something wrong?
> 
> Thanks in advance
> 
> Rodrigo Oliveira
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users



signature.asc
Description: OpenPGP digital signature


Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Gunter, David O
I wish it were that easy.  When I go that route, I get error messages like the 
following when trying to compile the parallel code with Intel:

libmpi.so:  undefined reference to `__intel_sse2_strcpy'

and other messages for every single Intel-implemented standard C-function.

-david
--
David Gunter
HPC-3: Infrastructure Team
Los Alamos National Laboratory




On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:

> On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
> 
>> I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel 10.0
>> compiler, but on a newer system in which the default g++ headers are
>> incompatible with Intel. Thus the C and Fortran compilers function
>> normally but the Intel C++ compiler fails to build even a simple "hello
>> world" code.
>> 
>> Is there a way to build OMPI without a C++ compiler?  I tried using the
>> --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just for
>> the resulting bindings. The configure step still continues to search for
>> a working C++ compiler.
>> 
>> Yes, I know I can upgrade the Intel compiler but we don't have that as an
>> option in this case.
> 
> Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++ even
> if you're not building the C++ bindings.  This is not true of 1.5.x and
> later.
> 
> If you don't need the C++ bindings, I would build Open MPI with GNU C and
> C++ and Intel Fortran.  After building, edit
> /share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
> line to compiler=.  There's not going to be much
> performance difference between the two compilers for Open MPI itself.  GNU
> C and Intel C are link compatible, so that should work out for you and the
> users will never be the wiser.
> 
> Brian
> 
> -- 
>  Brian W. Barrett
>  Dept. 1423: Scalable System Software
>  Sandia National Laboratories
> 
> 
> 
> 
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users




Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Jeffrey Squyres
Can you build with g++ instead of icpc?

All the C++ MPI bindings are inlined anyway, so the performance difference 
between the two might be negligible.


On Mar 20, 2012, at 11:35 AM, Gunter, David O wrote:

> I wish it were that easy.  When I go that route, I get error messages like 
> the following when trying to compile the parallel code with Intel:
> 
> libmpi.so:  undefined reference to `__intel_sse2_strcpy'
> 
> and other messages for every single Intel-implemented standard C-function.
> 
> -david
> --
> David Gunter
> HPC-3: Infrastructure Team
> Los Alamos National Laboratory
> 
> 
> 
> 
> On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:
> 
>> On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
>> 
>>> I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel 10.0
>>> compiler, but on a newer system in which the default g++ headers are
>>> incompatible with Intel. Thus the C and Fortran compilers function
>>> normally but the Intel C++ compiler fails to build even a simple "hello
>>> world" code.
>>> 
>>> Is there a way to build OMPI without a C++ compiler?  I tried using the
>>> --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just for
>>> the resulting bindings. The configure step still continues to search for
>>> a working C++ compiler.
>>> 
>>> Yes, I know I can upgrade the Intel compiler but we don't have that as an
>>> option in this case.
>> 
>> Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++ even
>> if you're not building the C++ bindings.  This is not true of 1.5.x and
>> later.
>> 
>> If you don't need the C++ bindings, I would build Open MPI with GNU C and
>> C++ and Intel Fortran.  After building, edit
>> /share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
>> line to compiler=.  There's not going to be much
>> performance difference between the two compilers for Open MPI itself.  GNU
>> C and Intel C are link compatible, so that should work out for you and the
>> users will never be the wiser.
>> 
>> Brian
>> 
>> -- 
>> Brian W. Barrett
>> Dept. 1423: Scalable System Software
>> Sandia National Laboratories
>> 
>> 
>> 
>> 
>> 
>> 
>> ___
>> 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/




Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Gunter, David O
I tried that at first but hit the same problem I'm having now - lot's of 
"__intel_" undefined errors when I go to compile even the simplest of mpi codes.

-david
--
David Gunter
HPC-3: Infrastructure Team
Los Alamos National Laboratory




On Mar 20, 2012, at 9:36 AM, Jeffrey Squyres wrote:

> Can you build with g++ instead of icpc?
> 
> All the C++ MPI bindings are inlined anyway, so the performance difference 
> between the two might be negligible.
> 
> 
> On Mar 20, 2012, at 11:35 AM, Gunter, David O wrote:
> 
>> I wish it were that easy.  When I go that route, I get error messages like 
>> the following when trying to compile the parallel code with Intel:
>> 
>> libmpi.so:  undefined reference to `__intel_sse2_strcpy'
>> 
>> and other messages for every single Intel-implemented standard C-function.
>> 
>> -david
>> --
>> David Gunter
>> HPC-3: Infrastructure Team
>> Los Alamos National Laboratory
>> 
>> 
>> 
>> 
>> On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:
>> 
>>> On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
>>> 
 I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel 10.0
 compiler, but on a newer system in which the default g++ headers are
 incompatible with Intel. Thus the C and Fortran compilers function
 normally but the Intel C++ compiler fails to build even a simple "hello
 world" code.
 
 Is there a way to build OMPI without a C++ compiler?  I tried using the
 --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just for
 the resulting bindings. The configure step still continues to search for
 a working C++ compiler.
 
 Yes, I know I can upgrade the Intel compiler but we don't have that as an
 option in this case.
>>> 
>>> Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++ even
>>> if you're not building the C++ bindings.  This is not true of 1.5.x and
>>> later.
>>> 
>>> If you don't need the C++ bindings, I would build Open MPI with GNU C and
>>> C++ and Intel Fortran.  After building, edit
>>> /share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
>>> line to compiler=.  There's not going to be much
>>> performance difference between the two compilers for Open MPI itself.  GNU
>>> C and Intel C are link compatible, so that should work out for you and the
>>> users will never be the wiser.
>>> 
>>> Brian
>>> 
>>> -- 
>>> Brian W. Barrett
>>> Dept. 1423: Scalable System Software
>>> Sandia National Laboratories
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> ___
>>> 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




Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Barrett, Brian W
That doesn't make a whole lot of sense; what compile / link line is
resulting in that error message?  The error message is saying that
libmpi.so depends on an Intel built-in function, but since you built
libmpi.so with gcc, that shouldn't happen.  Are you sure that libmpi.so
wasn't build against the Intel compilers?

Brian

On 3/20/12 11:35 AM, "Gunter, David O"  wrote:

>I wish it were that easy.  When I go that route, I get error messages
>like the following when trying to compile the parallel code with Intel:
>
>libmpi.so:  undefined reference to `__intel_sse2_strcpy'
>
>and other messages for every single Intel-implemented standard C-function.
>
>-david
>--
>David Gunter
>HPC-3: Infrastructure Team
>Los Alamos National Laboratory
>
>
>
>
>On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:
>
>> On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
>> 
>>> I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel
>>>10.0
>>> compiler, but on a newer system in which the default g++ headers are
>>> incompatible with Intel. Thus the C and Fortran compilers function
>>> normally but the Intel C++ compiler fails to build even a simple "hello
>>> world" code.
>>> 
>>> Is there a way to build OMPI without a C++ compiler?  I tried using the
>>> --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just
>>>for
>>> the resulting bindings. The configure step still continues to search
>>>for
>>> a working C++ compiler.
>>> 
>>> Yes, I know I can upgrade the Intel compiler but we don't have that as
>>>an
>>> option in this case.
>> 
>> Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++
>>even
>> if you're not building the C++ bindings.  This is not true of 1.5.x and
>> later.
>> 
>> If you don't need the C++ bindings, I would build Open MPI with GNU C
>>and
>> C++ and Intel Fortran.  After building, edit
>> /share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
>> line to compiler=.  There's not going to be much
>> performance difference between the two compilers for Open MPI itself.
>>GNU
>> C and Intel C are link compatible, so that should work out for you and
>>the
>> users will never be the wiser.
>> 
>> Brian
>> 
>> -- 
>>  Brian W. Barrett
>>  Dept. 1423: Scalable System Software
>>  Sandia National Laboratories
>> 
>> 
>> 
>> 
>> 
>> 
>> ___
>> 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
>
>


-- 
  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories








Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Tim Prince

 On 03/20/2012 08:35 AM, Gunter, David O wrote:

I wish it were that easy.  When I go that route, I get error messages like the 
following when trying to compile the parallel code with Intel:

libmpi.so:  undefined reference to `__intel_sse2_strcpy'

and other messages for every single Intel-implemented standard C-function.

-david
--

There was a suggestion in the snipped portion which suggested you use 
gcc/g++ together with ifort; that doesn't appear to be what you mean by 
"that route." (unless you forgot to recompile your .c files by gcc) You 
have built some objects with an Intel compiler (either ifort or 
icc/icpc) which is referring to this Intel library function, but you 
apparently didn't link against the library which provides it.  If you 
use one of those Intel compilers to drive the link, and your environment 
paths are set accordingly, the Intel libraries would be linked 
automatically.
There was a single release of the compiler several years ago (well out 
of support now) where that sse2 library was omitted, although the sse3 
version was present.


--
Tim Prince



Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Gunter, David O
You are right, Brian. I failed to build from a fresh untar, so I had some 
leftover intel-compiled bits. 

Your suggestion seems to work so I'll pass it along to the user to try out.

Thanks!

-david
--
David Gunter
HPC-3: Infrastructure Team
Los Alamos National Laboratory




On Mar 20, 2012, at 9:52 AM, Barrett, Brian W wrote:

> That doesn't make a whole lot of sense; what compile / link line is
> resulting in that error message?  The error message is saying that
> libmpi.so depends on an Intel built-in function, but since you built
> libmpi.so with gcc, that shouldn't happen.  Are you sure that libmpi.so
> wasn't build against the Intel compilers?
> 
> Brian
> 
> On 3/20/12 11:35 AM, "Gunter, David O"  wrote:
> 
>> I wish it were that easy.  When I go that route, I get error messages
>> like the following when trying to compile the parallel code with Intel:
>> 
>> libmpi.so:  undefined reference to `__intel_sse2_strcpy'
>> 
>> and other messages for every single Intel-implemented standard C-function.
>> 
>> -david
>> --
>> David Gunter
>> HPC-3: Infrastructure Team
>> Los Alamos National Laboratory
>> 
>> 
>> 
>> 
>> On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:
>> 
>>> On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
>>> 
 I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel
 10.0
 compiler, but on a newer system in which the default g++ headers are
 incompatible with Intel. Thus the C and Fortran compilers function
 normally but the Intel C++ compiler fails to build even a simple "hello
 world" code.
 
 Is there a way to build OMPI without a C++ compiler?  I tried using the
 --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just
 for
 the resulting bindings. The configure step still continues to search
 for
 a working C++ compiler.
 
 Yes, I know I can upgrade the Intel compiler but we don't have that as
 an
 option in this case.
>>> 
>>> Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++
>>> even
>>> if you're not building the C++ bindings.  This is not true of 1.5.x and
>>> later.
>>> 
>>> If you don't need the C++ bindings, I would build Open MPI with GNU C
>>> and
>>> C++ and Intel Fortran.  After building, edit
>>> /share/openmpi/mpicc-wrapper-data.txt to change the compiler=gcc
>>> line to compiler=.  There's not going to be much
>>> performance difference between the two compilers for Open MPI itself.
>>> GNU
>>> C and Intel C are link compatible, so that should work out for you and
>>> the
>>> users will never be the wiser.
>>> 
>>> Brian
>>> 
>>> -- 
>>> Brian W. Barrett
>>> Dept. 1423: Scalable System Software
>>> Sandia National Laboratories
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> ___
>>> 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
>> 
>> 
> 
> 
> -- 
>  Brian W. Barrett
>  Dept. 1423: Scalable System Software
>  Sandia National Laboratories
> 
> 
> 
> 
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users




Re: [OMPI users] [EXTERNAL] Possible to build ompi-1.4.3 or 1.4.5 without a C++ compiler?

2012-03-20 Thread Barrett, Brian W
David -

No problem.  Generally, you can get away with that trick whenever you're
compiling shared libraries and using the system compiler.  The biggest
advantage is that the chance of the code being mis-compiled goes down
significantly when using the system compiler.  The kernel is a good stress
test that all the atomics got implemented properly :).

Brian

On 3/20/12 1:24 PM, "Gunter, David O"  wrote:

>You are right, Brian. I failed to build from a fresh untar, so I had some
>leftover intel-compiled bits.
>
>Your suggestion seems to work so I'll pass it along to the user to try
>out.
>
>Thanks!
>
>-david
>--
>David Gunter
>HPC-3: Infrastructure Team
>Los Alamos National Laboratory
>
>
>
>
>On Mar 20, 2012, at 9:52 AM, Barrett, Brian W wrote:
>
>> That doesn't make a whole lot of sense; what compile / link line is
>> resulting in that error message?  The error message is saying that
>> libmpi.so depends on an Intel built-in function, but since you built
>> libmpi.so with gcc, that shouldn't happen.  Are you sure that libmpi.so
>> wasn't build against the Intel compilers?
>> 
>> Brian
>> 
>> On 3/20/12 11:35 AM, "Gunter, David O"  wrote:
>> 
>>> I wish it were that easy.  When I go that route, I get error messages
>>> like the following when trying to compile the parallel code with Intel:
>>> 
>>> libmpi.so:  undefined reference to `__intel_sse2_strcpy'
>>> 
>>> and other messages for every single Intel-implemented standard
>>>C-function.
>>> 
>>> -david
>>> --
>>> David Gunter
>>> HPC-3: Infrastructure Team
>>> Los Alamos National Laboratory
>>> 
>>> 
>>> 
>>> 
>>> On Mar 20, 2012, at 8:18 AM, Barrett, Brian W wrote:
>>> 
 On 3/20/12 10:06 AM, "Gunter, David O"  wrote:
 
> I need to build ompi-1.4.3 (or the newer 1.4.5) with an older Intel
> 10.0
> compiler, but on a newer system in which the default g++ headers are
> incompatible with Intel. Thus the C and Fortran compilers function
> normally but the Intel C++ compiler fails to build even a simple
>"hello
> world" code.
> 
> Is there a way to build OMPI without a C++ compiler?  I tried using
>the
> --disable-mpi-cxx and --disable-mpi-cxx-seek flags but these are just
> for
> the resulting bindings. The configure step still continues to search
> for
> a working C++ compiler.
> 
> Yes, I know I can upgrade the Intel compiler but we don't have that
>as
> an
> option in this case.
 
 Unfortunately, you're a bit out of luck.  Open MPI 1.4.x requires C++
 even
 if you're not building the C++ bindings.  This is not true of 1.5.x
and
 later.
 
 If you don't need the C++ bindings, I would build Open MPI with GNU C
 and
 C++ and Intel Fortran.  After building, edit
 /share/openmpi/mpicc-wrapper-data.txt to change the
compiler=gcc
 line to compiler=.  There's not going to be much
 performance difference between the two compilers for Open MPI itself.
 GNU
 C and Intel C are link compatible, so that should work out for you and
 the
 users will never be the wiser.
 
 Brian
 
 -- 
 Brian W. Barrett
 Dept. 1423: Scalable System Software
 Sandia National Laboratories
 
 
 
 
 
 
 ___
 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
>>> 
>>> 
>> 
>> 
>> -- 
>>  Brian W. Barrett
>>  Dept. 1423: Scalable System Software
>>  Sandia National Laboratories
>> 
>> 
>> 
>> 
>> 
>> 
>> ___
>> 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
>
>


-- 
  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories








Re: [OMPI users] Problem with MPI_Barrier (Inter-communicator)

2012-03-20 Thread Rodrigo Oliveira
Hi Edgar.

Thanks for the response. The simplified code is attached: server, client
and a .h containing some constants. I put some "prints" to show the
behavior.

Regards

Rodrigo


On Tue, Mar 20, 2012 at 11:47 AM, Edgar Gabriel  wrote:

> do you have by any chance the actual or a small reproducer? It might be
> much easier to hunt the problem down...
>
> Thanks
> Edgar
>
> On 3/19/2012 8:12 PM, Rodrigo Oliveira wrote:
> > Hi there.
> >
> > I am facing a very strange problem when using MPI_Barrier over an
> > inter-communicator after some operations I describe bellow:
> >
> > 1) I start a server calling mpirun.
> > 2) The server spawns 2 copies of a client using MPI_Comm_spawn, creating
> > an inter-communicator between the two groups. The server group with 1
> > process (lets name it as A) and the client group with 2 processes (group
> B).
> > 3) After that, I need to detach one of the processes (rank 0) in group B
> > from the inter-communicator AB. To do that I do the following steps:
> >
> > Server side:
> > .
> > tmp_inter_comm = client_comm.Create ( client_comm.Get_group ( )
> );
> > client_comm.Free ( );
> > client_comm = tmp_inter_comm;
> > .
> > client_comm.Barrier();
> > .
> >
> > Client side:
> > 
> > rank = 0;
> > tmp_inter_comm = server_comm.Create ( server_comm.Get_group (
> > ).Excl ( 1, &rank ) );
> > server_comm.Free ( );
> > server_comm = tmp_inter_comm;
> > .
> > if (server_comm != MPI::COMM_NULL)
> > server_comm.Barrier();
> >
> >
> > The problem: everything works fine until the call to Barrier. In that
> > point, the server exits the barrier, but the client at the group B does
> > not. Observe that we have only one process inside B, because I used Excl
> > to remove one process from the original group.
> >
> > p.s.: This occurs in the version 1.5.4 and the C++ API.
> >
> > I am very concerned about this problem because this solution plays a
> > very important role in my master thesis.
> >
> > Is this an ompi problem or am I doing something wrong?
> >
> > Thanks in advance
> >
> > Rodrigo Oliveira
> >
> >
> > ___
> > 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
>
#define OP_SHUT 0
#define OP_REM 1#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include "constants.h"

using namespace std;

MPI::Intercomm spawn ( MPI::Intracomm& self_comm, vector > & argv, vector& commands, vector& hosts, int* number_process, string& work_directory );
void removeClient ( MPI::Intercomm& client_comm, int rank );

int main ( int argc, char *argv[] ) {

	MPI::Init ( argc, argv );
	
	/** Initializations */
	MPI::Intracomm self_comm = MPI::COMM_SELF;
	MPI::Intercomm client_comm;

	vector < string > commands;
	vector < vector > arguments;
	vector < string > hosts;
	int number_process[1];
	vector < string > arg;

	commands.push_back ( "client" );
	arg.push_back ( "none" );
	arguments.push_back ( arg );
	hosts.push_back ( "hera" );	/** This is the host where the server will spawn the clients. */
	number_process[0] = 2;
	string server_work_directory = "/home/speed/rsilva/Desktop";	/** This have to be changed. */
	
	cout << "++ Server spawning 2 copies of client" << endl;
	client_comm = spawn ( self_comm, arguments, commands, hosts, number_process, server_work_directory );

	cout << "++ Server removing the client rank 0" << endl;
	removeClient ( client_comm, 0 );
	
	for (int i = 0; i < client_comm.Get_remote_size ( ); ++i) {
		client_comm.Send ( NULL, 0, MPI::BYTE, i, OP_SHUT );
	}

	cout << "++ Server before barrier " << endl;
	client_comm.Barrier();
	cout << "++ Server after barrier " << endl;

	MPI::Finalize ( );
}

void removeClient ( MPI::Intercomm& client_comm, int rank ) {

	MPI::Intercomm tmp_inter_comm;
	int message;
	message = rank;

	for (int i = 0; i < client_comm.Get_remote_size ( ); ++i) {
		client_comm.Send ( (void*) &message, sizeof(int), MPI::BYTE, i, OP_REM );
	}

	tmp_inter_comm = client_comm.Create ( client_comm.Get_group ( ) );
	client_comm.Free ( );
	client_comm = tmp_inter_comm;
}

MPI::Intercomm spawn ( MPI::Intracomm& self_comm, vector > & argv, vector& commands, vector& hosts, int* number_process, string& work_directory ) {

	char* cmd[commands.size ( )];
	char **arguments[argv.size ( )];
	MPI::Info info[hosts.size ( )];
	MPI::Intercomm children_intercomm;
	string err_message;

	/** Creates the data structures required by the mpi spawn_multiple command. */
	for (int i = 0; i < (int) hosts.size ( ); ++i) {
		/** Commands */
		cmd[i] = (char*) malloc ( sizeof(char) * commands[i].length ( ) );
		strcpy ( cmd[i], commands[i].c_str ( ) );

		/** Commands' argument

Re: [OMPI users] Problem with MPI_Barrier (Inter-communicator)

2012-03-20 Thread Rodrigo Oliveira
The command I use to compile and run is:

mpic++ server.cc -o server && mpic++ client.cc -o client && mpirun -np 1
./server

Rodrigo

On Tue, Mar 20, 2012 at 3:40 PM, Rodrigo Oliveira  wrote:

> Hi Edgar.
>
> Thanks for the response. The simplified code is attached: server, client
> and a .h containing some constants. I put some "prints" to show the
> behavior.
>
> Regards
>
> Rodrigo
>
>
> On Tue, Mar 20, 2012 at 11:47 AM, Edgar Gabriel  wrote:
>
>> do you have by any chance the actual or a small reproducer? It might be
>> much easier to hunt the problem down...
>>
>> Thanks
>> Edgar
>>
>> On 3/19/2012 8:12 PM, Rodrigo Oliveira wrote:
>> > Hi there.
>> >
>> > I am facing a very strange problem when using MPI_Barrier over an
>> > inter-communicator after some operations I describe bellow:
>> >
>> > 1) I start a server calling mpirun.
>> > 2) The server spawns 2 copies of a client using MPI_Comm_spawn, creating
>> > an inter-communicator between the two groups. The server group with 1
>> > process (lets name it as A) and the client group with 2 processes
>> (group B).
>> > 3) After that, I need to detach one of the processes (rank 0) in group B
>> > from the inter-communicator AB. To do that I do the following steps:
>> >
>> > Server side:
>> > .
>> > tmp_inter_comm = client_comm.Create ( client_comm.Get_group ( )
>> );
>> > client_comm.Free ( );
>> > client_comm = tmp_inter_comm;
>> > .
>> > client_comm.Barrier();
>> > .
>> >
>> > Client side:
>> > 
>> > rank = 0;
>> > tmp_inter_comm = server_comm.Create ( server_comm.Get_group (
>> > ).Excl ( 1, &rank ) );
>> > server_comm.Free ( );
>> > server_comm = tmp_inter_comm;
>> > .
>> > if (server_comm != MPI::COMM_NULL)
>> > server_comm.Barrier();
>> >
>> >
>> > The problem: everything works fine until the call to Barrier. In that
>> > point, the server exits the barrier, but the client at the group B does
>> > not. Observe that we have only one process inside B, because I used Excl
>> > to remove one process from the original group.
>> >
>> > p.s.: This occurs in the version 1.5.4 and the C++ API.
>> >
>> > I am very concerned about this problem because this solution plays a
>> > very important role in my master thesis.
>> >
>> > Is this an ompi problem or am I doing something wrong?
>> >
>> > Thanks in advance
>> >
>> > Rodrigo Oliveira
>> >
>> >
>> > ___
>> > 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
>>
>
>


[OMPI users] oMPI hang with IB question

2012-03-20 Thread Dylan Nelson
Hello,

I've been having trouble for awhile now running some OpenMPI+IB jobs on
multiple tasks. The problems are all "hangs" and are not reproducible - the
same execution started again will in general proceed just fine where
previously it got stuck, but then later get stuck. These stuck processes are
pegged at 100% CPU usage and remain there for days if not killed.

The same nature of problem exists in oMPI 1.2.5, 1.4.2, and 1.5.3 (for the
code I am running). This is quite possible some problem in the
configuration/cluster, I am not claiming that it is a bug in oMPI, but was
just hopeful that someone might have a guess as to what is going on.

In ancient 1.2.5 the problem manifests as (I attach gdb to the stalled
process on one of the child nodes):



(gdb) bt
#0  0x2b8135b3f699 in ibv_cmd_create_qp () from
/usr/lib64/libmlx4-rdmav2.so
#1  0x2b8135b3faa6 in ibv_cmd_create_qp () from
/usr/lib64/libmlx4-rdmav2.so
#2  0x2b813407bff1 in btl_openib_component_progress ()
   from /n/sw/openmpi-1.2.5-gcc-4.1.2/lib/openmpi/mca_btl_openib.so
#3  0x2b8133e6f04a in mca_bml_r2_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib/openmpi/mca_bml_r2.so
#4  0x2b812f52c9ba in opal_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libopen-pal.so.0
#5  0x2b812f067b05 in ompi_request_wait_all () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libmpi.so.0
#6  0x in ?? ()
(gdb) next
Single stepping until exit from function ibv_cmd_create_qp, which has no
line number information.
0x2b8135b3f358 in pthread_spin_unlock@plt () from
/usr/lib64/libmlx4-rdmav2.so
(gdb) next
Single stepping until exit from function pthread_spin_unlock@plt, which has
no line number information.
0x0038c860b760 in pthread_spin_unlock () from /lib64/libpthread.so.0
(gdb) next
Single stepping until exit from function pthread_spin_unlock, which has no
line number information.
0x2b8135b3fc21 in ibv_cmd_create_qp () from /usr/lib64/libmlx4-rdmav2.so
(gdb) next
Single stepping until exit from function ibv_cmd_create_qp, which has no
line number information.
0x2b813407bff1 in btl_openib_component_progress ()
   from /n/sw/openmpi-1.2.5-gcc-4.1.2/lib/openmpi/mca_btl_openib.so
(gdb) next
Single stepping until exit from function btl_openib_component_progress,
which has no line number information.
0x2b8133e6f04a in mca_bml_r2_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib/openmpi/mca_bml_r2.so
(gdb) next
Single stepping until exit from function mca_bml_r2_progress, which has no
line number information.
0x2b812f52c9ba in opal_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libopen-pal.so.0
(gdb) next
Single stepping until exit from function opal_progress, which has no line
number information.
0x2b812f067b05 in ompi_request_wait_all () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libmpi.so.0
(gdb) next
Single stepping until exit from function ompi_request_wait_all, which has no
line number information.

---hang--- (infinite loop?)

On a different task:

0x2ba2383b4982 in opal_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libopen-pal.so.0
(gdb) bt
#0  0x2ba2383b4982 in opal_progress () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libopen-pal.so.0
#1  0x2ba237eefb05 in ompi_request_wait_all () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libmpi.so.0
#2  0x in ?? ()
(gdb) next
Single stepping until exit from function opal_progress, which has no line
number information.
0x2ba237eefb05 in ompi_request_wait_all () from
/n/sw/openmpi-1.2.5-gcc-4.1.2/lib64/libmpi.so.0
(gdb) next
Single stepping until exit from function ompi_request_wait_all, which has no
line number information.

---hang---



On 1.5.3 a similar "hang" problem happens but the backtrace goes back to the
original code call which is a MPI_Sendrecv():



3510OPAL_THREAD_UNLOCK(&endpoint->eager_rdma_local.lock);
(gdb) bt
#0  progress_one_device () at btl_openib_component.c:3510
#1  btl_openib_component_progress () at btl_openib_component.c:3541
#2  0x2b722f348b35 in opal_progress () at runtime/opal_progress.c:207
#3  0x2b722f287025 in opal_condition_wait (buf=0x2b636298,
count=251328, datatype=0x6ef240, dst=12, tag=35,
sendmode=MCA_PML_BASE_SEND_STANDARD, comm=0x6ee430) at
../../../../opal/threads/condition.h:99
#4  ompi_request_wait_completion (buf=0x2b636298, count=251328,
datatype=0x6ef240, dst=12, tag=35,
sendmode=MCA_PML_BASE_SEND_STANDARD, comm=0x6ee430) at
../../../../ompi/request/request.h:377
#5  mca_pml_ob1_send (buf=0x2b636298, count=251328, datatype=0x6ef240,
dst=12, tag=35,
sendmode=MCA_PML_BASE_SEND_STANDARD, comm=0x6ee430) at
pml_ob1_isend.c:125
#6  0x2b722f1cb568 in PMPI_Sendrecv (sendbuf=0x2aaba9587398,
sendcount=251328, sendtype=0x6ef240, dest=12,