[OMPI users] Infiniband performance Problem and stalling

2012-08-27 Thread Randolph Pullen
I have a test rig comprising 2 i7 systems with Melanox III HCA 10G cards

running Centos 5.7 Kernel 2.6.18-274
Open MPI 1.4.3
MLNX_OFED_LINUX-1.5.3-1.0.0.2 (OFED-1.5.3-1.0.0.2):
On a Cisco 24 pt switch

Normal performance is:
$ mpirun --mca btl openib,self -n 2 -hostfile mpi.hosts  PingPong
results in:
 Max rate = 958.388867 MB/sec  Min latency = 4.529953 usec
and:
$ mpirun --mca btl tcp,self -n 2 -hostfile mpi.hosts  PingPong
Max rate = 653.547293 MB/sec  Min latency = 19.550323 usec


My application exchanges about a gig of data between the processes with 2 
sender and 2 consumer processes on each node with 1 additional controler 
process on the starting node.
The program splits the data into 64K blocks and uses non blocking sends and 
receives with busy/sleep loops to monitor progress until completion.

My problem is I see better performance under IPoIB then I do on native IB 
(RDMA_CM).
My understanding is that IPoIB is limited to about 1G/s so I am at a loss to 
know why it is faster.

These 2 configurations are equivelant (about 8-10 seconds per cycle)
mpirun --mca btl_openib_flags 2 --mca mpi_leave_pinned 1 --mca btl tcp,self -H 
vh2,vh1 -np 9 --bycore prog
mpirun --mca btl_openib_flags 3 --mca mpi_leave_pinned 1 --mca btl tcp,self -H 
vh2,vh1 -np 9 --bycore prog

And this one produces similar run times but seems to degrade with repeated 
cycles:
mpirun --mca btl_openib_eager_limit 64 --mca mpi_leave_pinned 1 --mca btl 
openib,self -H vh2,vh1 -np 9 --bycore  prog

Other  btl_openib_flags settings result in much lower performance. 
Changing the first of the above configs to use openIB results in a 21 second 
run time at best.  Sometimes it takes up to 5 minutes.
With openib:

- Repeated cycles during a single run seem to slow down with each cycle.
- On occasions it seems to stall indefinately, waiting on a single receive. 

Any ideas appreciated.

Thanks in advance,
Randolph


Re: [OMPI users] PG compilers and OpenMPI 1.6.1

2012-08-27 Thread Lloyd Brown
Thanks for getting this in so quickly.

Yes, the nightly tarball from Aug 25 (a1r27142), seems to get through a
configure and make stage at least.

Thanks,

Lloyd Brown
Systems Administrator
Fulton Supercomputing Lab
Brigham Young University
http://marylou.byu.edu

On 08/25/2012 05:18 AM, Jeff Squyres wrote:
> I've merged the VT fix into the 1.6 branch; it will be available in tonight's 
> tarball.
> 
> Can you give a nightly v1.6 tarball a whirl to ensure it fixes your problem?
> 
> http://www.open-mpi.org/nightly/v1.6/
> 
> 
> On Aug 23, 2012, at 7:30 PM, Jeff Squyres (jsquyres) wrote:
> 
>> Yes. VT = vampirtrace. 
>>
>> Sent from my phone. No type good. 
>>
>> On Aug 23, 2012, at 6:49 PM, "Lloyd Brown"  wrote:
>>
>>> Okay.  Sounds good.  I'll watch that bug.
>>>
>>> For my own sanity check, "vt" means VampirTrace stuff, right?  In our
>>> environment, I don't think it'll be a problem to disable VampirTrace
>>> temporarily.  More people here use the Intel and GNU compiled versions
>>> anyway, both of which compile just fine with 1.6.1.
>>>
>>> Lloyd Brown
>>> Systems Administrator
>>> Fulton Supercomputing Lab
>>> Brigham Young University
>>> http://marylou.byu.edu
>>>
>>> On 08/23/2012 04:43 PM, Jeff Squyres wrote:
 This was reported earlier today:

   https://svn.open-mpi.org/trac/ompi/ticket/3251

 I've alerted the VT guys to have a look.  For a workaround, you can 
 --disable-vt.


 On Aug 23, 2012, at 6:00 PM, Ralph Castain wrote:

> Just looking at your output, it looks like there is a missing header that 
> PGI requires - I have no idea what that might be. You might do a search 
> for omp_lock_t to see where it is defined and add that head to the 
> vt_wrapper.cc file and see if that fixes the problem
>
> On Aug 23, 2012, at 2:44 PM, Lloyd Brown  wrote:
>
>> Has anyone been able to get OpenMPI 1.6.1 to compile with a recent
>> Portland Group compiler set?  I'm currently trying on RHEL 6.2 with PG
>> compilers v12.5 (2012), and I keep getting errors like the ones below.
>> It could easily be a problem with the compiler code, but since this
>> doesn't happen with OpenMPI 1.6, I'm not sure.  Can anyone provide any
>> insight on what might have changed with respect to that file
>> ('ompi/contrib/vt/vt/tools/vtwrapper/vt_wrapper.cc') between 1.6 and 
>> 1.6.1?
>>
>> Thanks,
>> Lloyd
>>
>>
>> Error Messages:
>>
>>> [root@rocks6staging vtwrapper]# pwd
>>> /tmp/openmpi-1.6.1/ompi/contrib/vt/vt/tools/vtwrapper
>>> [root@rocks6staging vtwrapper]# make V=1
>>> source='vt_wrapper.cc' object='vtwrapper-vt_wrapper.o' libtool=no \
>>> DEPDIR=.deps depmode=none /bin/sh ../../config/depcomp \
>>> pgcpp -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include 
>>> -I../../util -I../../util  -DINSIDE_OPENMPI  -D_REENTRANT 
>>> -I/tmp/openmpi-1.6.1/opal/mca/hwloc/hwloc132/hwloc/include   
>>> -I/usr/include/infiniband -I/usr/include/infiniband  -DHAVE_FC 
>>> -DHAVE_MPI -DHAVE_FMPI -DHAVE_THREADS -DHAVE_OMP -fast -c -o 
>>> vtwrapper-vt_wrapper.o `test -f 'vt_wrapper.cc' || echo 
>>> './'`vt_wrapper.cc
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 356: error: 
>>>   identifier "omp_lock_t" is undefined
>>> omp_lock_t _M_lock;
>>> ^
>>>
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 359: error: 
>>>   identifier "omp_init_lock" is undefined
>>>   omp_init_lock(&_M_lock);
>>>   ^
>>>
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 364: error: 
>>>   identifier "omp_destroy_lock" is undefined
>>>  omp_destroy_lock(&_M_lock);
>>>  ^
>>>
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 369: error: 
>>>   identifier "omp_set_lock" is undefined
>>>  omp_set_lock(&_M_lock);
>>>  ^
>>>
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 375: error: 
>>>   identifier "omp_set_lock" is undefined
>>>  omp_set_lock(&_M_lock);
>>>  ^
>>>
>>> "/opt/pgi/linux86-64/12.5/include/CC/stl/_threads.h", line 380: error: 
>>>   identifier "omp_unset_lock" is undefined
>>> omp_unset_lock(&_M_lock);
>>> ^
>>>
>>> 6 errors detected in the compilation of "vt_wrapper.cc".
>>> make: *** [vtwrapper-vt_wrapper.o] Error 2
>>> [root@rocks6staging vtwrapper]# 
>>
>>
>>
>> -- 
>> Lloyd Brown
>> Systems Administrator
>> Fulton Supercomputing Lab
>> Brigham Young University
>> http://marylou.byu.edu
>> ___
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> ___
> users mailing list
> 

Re: [OMPI users] ORTE_ERROR: orte_ess_base_open failed

2012-08-27 Thread Jeff Squyres
Did you install Open MPI on a network share, or is it installed locally on each 
machine?

If you installed it locally on each machine, you may want to double check your 
installation on AV8 to ensure it was installed correctly.

Also, you might want to double check that Open MPI is available at the same 
paths on every machine one which you're trying to run (e.g., if you installed 
in /opt/openmpi on one machine, make sure you installed on /opt/openmpi on all 
machines).  You don't *have* to do this -- Open MPI *can* run if it's installed 
in different directories on each machine -- but it's *significantly* simpler if 
Open MPI is installed in the same directory on each machine.


On Aug 26, 2012, at 10:59 PM, Ralph Castain wrote:

> I have no further ideas, I'm afraid. The only thing I can see is that your 
> directory tree doesn't look right - if /usr/local is your prefix, then there 
> should be a /usr/local/lib/openmpi directory, and the .la's should be in 
> there.
> 
> You might try reinstalling it to somewhere other than /usr/local - perhaps 
> put it somewhere under your home directory instead so you don't need root 
> permissions to do the install. See if the directory tree looks any different.
> 
> It would also help to see your configure line, and know something more about 
> your system. It looks like you have slurm, so I assume this is some kind of 
> Linux box?
> 
> 
> On Aug 26, 2012, at 7:23 PM, Shanthini Kannan  wrote:
> 
>> Hello Ralph,
>> /usr/local/lib is in my LD_LIBRARY_PATH.
>> I am running the right version of mpirun and I do have all permissions on 
>> them.
>> 
>> Thanks!
>> Shanthini
>> 
>> On Fri, Aug 24, 2012 at 7:30 PM, Ralph Castain  wrote:
>> And just to be sure - /usr/local/lib is in your ld_lib_path, yes?
>> 
>> You might also check the permissions to ensure you can read them. Also, 
>> check "which mpirun" - let's make sure you are running the one you think!
>> 
>> On Aug 24, 2012, at 4:22 PM, Shanthini Kannan  wrote:
>> 
>>> Thanks Ralph.
>>> My prefix is /usr/local and I see that mca_ess_env.la is present in 
>>> /usr/local/lib directory.
>>>  
>>> -bash-4.2# pwd
>>> /usr/local/lib
>>> -bash-4.2# ls mca_ess*
>>> mca_ess_env.la  mca_ess_singleton.la  mca_ess_slurm.la   mca_ess_tool.la
>>> mca_ess_env.so  mca_ess_singleton.so  mca_ess_slurm.so   mca_ess_tool.so
>>> mca_ess_hnp.la  mca_ess_slave.la  mca_ess_slurmd.la
>>> mca_ess_hnp.so  mca_ess_slave.so  mca_ess_slurmd.so
>>> -bash-4.2#
>>> 
>>> On Fri, Aug 24, 2012 at 7:13 PM, Ralph Castain  wrote:
>>> Check you /lib directory - there should be an openmpi directory 
>>> under it, and that should have a bunch of libs in it. One of those should 
>>> be mca_ess_env.la
>>> 
>>> Is it there?
>>> 
>>> On Aug 24, 2012, at 3:27 PM, Shanthini Kannan  wrote:
>>> 
 I had the OMPI lib directory added in /etc/ld.so.conf.
 I also added it in LD_LIBRARY_PATH, but it made no difference.
 When I call mpirun, should I specify the MCA in command-line?
 Thanks!
 
 On Fri, Aug 24, 2012 at 2:07 PM, Ralph Castain  wrote:
 I suspect your LD_LIBRARY_PATH doesn't include the OMPI lib location
 
 On Aug 24, 2012, at 10:58 AM, Shanthini Kannan  
 wrote:
 
> Hello,
> I am running mpptest over Open MPI (v1.5.4). 
> I get the following error saying component "env" in Framework "ess" is 
> not found. Am I missing something?  I am new to MPI and any help you can 
> offer is appreciated.
> 
> A requested component was not found, or was unable to be opened.  This
> means that this component is either not installed or is unable to be
> used on your system (e.g., sometimes this means that shared libraries
> that the component requires are unable to be found/loaded).  Note that
> Open MPI stopped checking at the first component that it did not find.
> 
> Host:  AV8
> Framework: ess
> Component: env
> --
> [AV8:05354] [[INVALID],INVALID] ORTE_ERROR_LOG: Error in file 
> runtime/orte_init.c at line 120
> --
> It looks like orte_init failed for some reason; your parallel process is
> likely to abort.  There are many reasons that a parallel process can
> fail during orte_init; some of which are due to configuration or
> environment problems.  This failure appears to be an internal failure;
> here's some additional information (which may only be relevant to an
> Open MPI developer):
> 
>   orte_ess_base_open failed
>   --> Returned value Error (-1) instead of ORTE_SUCCESS
> 
> Thanks!
> Shanthini
> ___
> users mailing list
> us...@open-mpi.org

Re: [OMPI users] error compiling openmpi-1.6.1 on Windows 7

2012-08-27 Thread Siegmar Gross
Hi,

thank you very much for your reply. I compiled and installed
openmpi-1.6.1. Unfortunately I cannot compile programs because
"mpicc" uses wrong path names. I have set an environment for
openmpi-1.6.1 as you can see from the following output.

D:\...prog\mpi\small_prog>set | c:\cygwin\bin\grep openmpi
LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\amd64;
  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64;
  C:\Program Files\openmpi-1.6.1\lib

LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\amd64;
  C:\Program Files\openmpi-1.6.1\lib

Path=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcpackages;
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\;
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\;
  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64;
  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64;
  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\;
  C:\Windows\System32;
  C:\Windows;
  C:\Windows\System32\Wbem;
  C:\Program Files\openmpi-1.6.1\bin;
  C:\cmd;.



I get the following error when I try to compile my program
because of "/LIBPATH:C:\Program Files (x86)\openmpi-1.6/lib".

D:\...\prog\mpi\small_prog>mpicc init_finalize.c
Microsoft (R) C/C++-Optimierungscompiler Version 16.00.40219.01 für x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
init_finalize.c
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.
/out:init_finalize.exe
"/LIBPATH:C:\Program Files (x86)\openmpi-1.6/lib"
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
init_finalize.obj
init_finalize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__imp_MP
I_Finalize" in Funktion "main".
init_finalize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__imp_MP
I_Init" in Funktion "main".
init_finalize.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.



When I start in a new command shell without my MPI environment,
I get the following outputs for "mpicc -show". The first one
is OK, but both others are wrong because they point to 32-bit
libraries instead of 64-bit ones. Why do both versions point
to openmpi-1.6? I downloaded and installed the precompiled
32- and 64-bit version 1.6 from open-mpi.org.

C:\Program Files>openmpi-1.5.1\bin\mpicc -show
cl.exe /I"C:/Program Files/openmpi-1.5.1/include" /TC /D "OMPI_IMPORTS" /D 
"OPAL_IMPORTS"
/D "ORTE_IMPORTS" /link /LIBPATH:"C:/Program Files/openmpi-1.5.1/lib" 
libmpi.lib libopen-p
al.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib

C:\Program Files>openmpi-1.6\bin\mpicc -show
cl.exe /I"C:\Program Files (x86)\openmpi-1.6/include" /TC /DOMPI_IMPORTS 
/DOPAL_IMPORTS /D
ORTE_IMPORTS /link /LIBPATH:"C:\Program Files (x86)\openmpi-1.6/lib" libmpi.lib 
libopen-pa
l.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib

C:\Program Files>openmpi-1.6.1\bin\mpicc -show
cl.exe /I"C:\Program Files (x86)\openmpi-1.6/include" /TC /DOMPI_IMPORTS 
/DOPAL_IMPORTS /D
ORTE_IMPORTS /link /LIBPATH:"C:\Program Files (x86)\openmpi-1.6/lib" libmpi.lib 
libopen-pa
l.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib


Do you have any idea what I have done wrong? Thank you very
much for any help in advance.


Kind regards

Siegmar


> I didn't have this problem when building the binary release.
> 
> But to solve the problem is very easy. You can just open
> \openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c, and go
> to line 1099, change "void*" to "void**". This will get rid of the error.
> 
> For the warnings, they are just some redefinitions that cannot
> be avoided, they are totally harmless.
> 
> 
> Regards,
> Shiqing
>   
> 
> 
> 
> On 2012-08-27 1:02 PM, Siegmar Gross wrote:
> > Hi,
> >
> > I tried to compile openmpi-1.6.1 with CMake-2.8.3 and Visual Studio
> > 2010 on Windows 7. All service packs and patches from Microsoft are
> > installed.
> >
> > I changed the following options:
> >
> > CMAKE_BUILD_TYPE: "Debug" modified to "Release"
> > CMAKE_INSTALL_PREFIX: modified to "c:/Program Files (x86)/openmpi-1.6.1"
> > OMPI_ENABLE_THREAD_MULTIPLE: "no" changed to "yes"
> > OMPI_RELEASE_BUILD: "no" changed to "yes"
> > OPAL_ENABLE_HETEREOGENEOUS:SUPPORT: "no" changed to "yes"
> > OPAL_ENABLE_IPV6:  "yes" changed to "no"
> > OPAL_ENABLE_MULTI_THREADS: "no" changed to "yes"
> >
> > I also selected "Release" in "Visual Studio". Unfortunately I got the
> > following error ("void *" cannot be converted to "void **").
> >
> > Fehler  77  error C2440: '=': 'void *' kann nicht in 'void **'
> >konvertiert werden
> >...\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c
> >1099   

Re: [OMPI users] error compiling openmpi-1.6.1 on Windows 7

2012-08-27 Thread Shiqing Fan

Hi Siegmar,

I didn't have this problem when building the binary release.

But to solve the problem is very easy. You can just open 
\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c, and go to line 1099, change 
"void*" to "void**". This will get rid of the error.

For the warnings, they are just some redefinitions that cannot be avoided, they 
are totally harmless.


Regards,
Shiqing




On 2012-08-27 1:02 PM, Siegmar Gross wrote:

Hi,

I tried to compile openmpi-1.6.1 with CMake-2.8.3 and Visual Studio
2010 on Windows 7. All service packs and patches from Microsoft are
installed.

I changed the following options:

CMAKE_BUILD_TYPE: "Debug" modified to "Release"
CMAKE_INSTALL_PREFIX: modified to "c:/Program Files (x86)/openmpi-1.6.1"
OMPI_ENABLE_THREAD_MULTIPLE: "no" changed to "yes"
OMPI_RELEASE_BUILD: "no" changed to "yes"
OPAL_ENABLE_HETEREOGENEOUS:SUPPORT: "no" changed to "yes"
OPAL_ENABLE_IPV6:  "yes" changed to "no"
OPAL_ENABLE_MULTI_THREADS: "no" changed to "yes"

I also selected "Release" in "Visual Studio". Unfortunately I got the
following error ("void *" cannot be converted to "void **").

Fehler  77  error C2440: '=': 'void *' kann nicht in 'void **'
   konvertiert werden
   ...\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c
   1099 1   libmpi

Fehler  90  error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
   kann nicht geöffnet werden.
   ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi-server\LINK
   ompi-server

Fehler  94  error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
   kann nicht geöffnet werden.
   ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi_info\LINK
   ompi_info

Fehler  162 error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
   kann nicht geöffnet werden.
   ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\mpi\cxx\LINK
   libmpi_cxx


I get also a lot of warnings, from wich I have listed a few.


Warnung 1   warning C4005: 'PACKAGE_BUGREPORT': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   185  1   libopen-pal
Warnung 2   warning C4005: 'PACKAGE_NAME': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   188  1   libopen-pal
Warnung 3   warning C4005: 'PACKAGE_STRING': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   191  1   libopen-pal
Warnung 4   warning C4005: 'PACKAGE_TARNAME': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   194  1   libopen-pal
Warnung 5   warning C4005: 'PACKAGE_VERSION': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   197  1   libopen-pal
Warnung 6   warning C4005: '__func__': Makro-Neudefinition
   ...\openmpi-1.6.1\opal\event\win32-code\config.h
   212  1   libopen-pal
Warnung 7   warning C4013: 'opal_event_warn' undefiniert;
Annahme: extern mit Rückgabetyp int
   ...\openmpi-1.6.1\opal\event\WIN32-Code\win32.c
   170  1   libopen-pal
Warnung 8   warning C4005: 'INT8_MIN': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   72   1   libopen-pal
Warnung 9   warning C4005: 'INT16_MIN': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   73   1   libopen-pal
Warnung 10  warning C4005: 'INT32_MIN': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   74   1   libopen-pal
Warnung 11  warning C4005: 'INT8_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   76   1   libopen-pal
Warnung 12  warning C4005: 'INT16_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   77   1   libopen-pal
Warnung 13  warning C4005: 'INT32_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   78   1   libopen-pal
Warnung 14  warning C4005: 'UINT8_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   79   1   libopen-pal
Warnung 15  warning C4005: 'UINT16_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   80   1   libopen-pal
Warnung 16  warning C4005: 'UINT32_MAX': Makro-Neudefinition
   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
   81   1   libopen-pal
Warnung 17  warning C4018: '<': Konflikt zwischen 'signed' und 'unsigned'
   ...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
   libopen-pal
Warnung 18  warning C4273: '_isatty': Inkonsistente DLL-Bindung.
   ...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
   libopen-pal
...

What can I do to get around the error so that I can compile Open MPI?
Thank you very much for any suggestions in advance.

Kind regards

Siegmar


___
users mailing 

[OMPI users] gcc problem compiling openmpi-1.6.1 on Solaris 10 sparc

2012-08-27 Thread Siegmar Gross
Hi,

we have installed the latest patches on our Solaris machines and I have
a problem compiling openmpi-1.6.1 with gcc-4.6.2. I used the following
commands.

mkdir openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc
cd openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc

../openmpi-1.6.1/configure --prefix=/usr/local/openmpi-1.6.1_64_gcc \
  --libdir=/usr/local/openmpi-1.6.1_64_gcc/lib64 \
  LDFLAGS="-m64 -L/usr/local/gcc-4.6.2/lib/sparcv9" \
  CC="gcc" CXX="g++" F77="gfortran" FC="gfortran" \
  CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \
  CPP="cpp" CXXCPP="cpp" \
  CPPFLAGS="" CXXCPPFLAGS="" \
  C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
  OBJC_INCLUDE_PATH="" MPIHOME="" \
  --without-udapl --without-openib \
  --enable-mpi-f90 --with-mpi-f90-size=small \
  --enable-heterogeneous --enable-cxx-exceptions \
  --enable-orterun-prefix-by-default \
  --with-threads=posix --enable-mpi-thread-multiple \
  --enable-opal-multi-threads \
  --with-hwloc=internal --with-ft=LAM --enable-sparse-groups \
  |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc

make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV.64_gcc

"log.configure.SunOS.sparc.64_gcc" shows no errors.
"log.make.SunOS.sparc.64_gcc" breaks with the following error.

...
Creating mpi/man/man3/OpenMPI.3 man page...
make[2]: Leaving directory
  `/.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi'
Making all in mpi/cxx
make[2]: Entering directory
  `/.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi/mpi/cxx'
  CXXmpicxx.lo
In file included from /usr/include/stdio.h:66:0,
  from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.h:50,
  from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.cc:22:
/usr/include/iso/stdio_iso.h:195:60: error:
  redefinition of 'const char* restrict'
/usr/include/iso/stdio_iso.h:195:32: error:
  'const char* restrict' previously declared here
/usr/include/iso/stdio_iso.h:197:16: error:
  redefinition of 'const char* restrict'
/usr/include/iso/stdio_iso.h:196:34: error:
  'const char* restrict' previously declared here
/usr/include/iso/stdio_iso.h:197:38: error:
  conflicting declaration 'FILE* restrict'
/usr/include/iso/stdio_iso.h:196:34: error:
  'restrict' has a previous declaration as 'const char* restrict'
/usr/include/iso/stdio_iso.h:198:48: error:
  conflicting declaration 'char* restrict'
/usr/include/iso/stdio_iso.h:198:26: error:
  'restrict' has a previous declaration as 'FILE* restrict'
...

Many lines of similar errors.

...
In file included from
  ../../../../openmpi-1.6.1/ompi/mpi/cxx/functions_inln.h:22:0,
  from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.h:272,
  from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.cc:22:
/usr/include/string.h:65:57: error:
  conflicting declaration 'const char* restrict'
/usr/include/string.h:65:29: error:
  'restrict' has a previous declaration as 'char* restrict'
/usr/include/string.h:66:9: error:
  conflicting declaration 'char** restrict'
/usr/include/string.h:65:29: error:
  'restrict' has a previous declaration as 'char* restrict'
/usr/include/string.h:71:56: error:
  conflicting declaration 'const void* restrict'
/usr/include/string.h:71:28: error:
  'restrict' has a previous declaration as 'void* restrict'
/usr/include/string.h:77:53: error:
  conflicting declaration 'void* restrict'
/usr/include/string.h:77:31: error:
  'restrict' has a previous declaration as 'const void* restrict'
/usr/include/string.h:78:56: error:
  conflicting declaration 'void* restrict'
/usr/include/string.h:78:34: error:
  'restrict' has a previous declaration as 'const void* restrict'
make[2]: *** [mpicxx.lo] Error 1
make[2]: Leaving directory `.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi/mpi/cxx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi'
make: *** [all-recursive] Error 1
tyr openmpi-1.6.1-SunOS.sparc.64_gcc 127 


Has anyone else a similar problem? Is our system responsible for the
problem so that I must open a service request or is something wrong
with openmpi? Thank you very much for any help in advance.


Kind regards

Siegmar



[OMPI users] Sun cc problem compiling openmpi-1.6.1 on Solaris 10 sparc

2012-08-27 Thread Siegmar Gross
Hi,

we have installed the latest patches on our Solaris machines and I have
a problem compiling openmpi-1.6.1 with Sun C 5.12. I used the following
commands.

mkdir openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_cc
cd openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_cc

../openmpi-1.6.1/configure --prefix=/usr/local/openmpi-1.6.1_64_cc \
  --libdir=/usr/local/openmpi-1.6.1_64_cc/lib64 \
  LDFLAGS="-m64" \
  CC="cc" CXX="CC" F77="f77" FC="f95" \
  CFLAGS="-m64" CXXFLAGS="-m64 -library=stlport4" FFLAGS="-m64" \
  FCFLAGS="-m64" \
  CPP="cpp" CXXCPP="cpp" \
  CPPFLAGS="" CXXCPPFLAGS="" \
  C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
  OBJC_INCLUDE_PATH="" MPIHOME="" \
  --without-udapl --without-openib \
  --enable-mpi-f90 --with-mpi-f90-size=small \
  --enable-heterogeneous --enable-cxx-exceptions \
  --enable-orterun-prefix-by-default \
  --with-threads=posix --enable-mpi-thread-multiple \
  --enable-opal-multi-threads \
  --with-hwloc=internal --with-ft=LAM --enable-sparse-groups \
  |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc

make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV.64_cc


"log.configure.SunOS.sparc.64_cc" shows no errors but the following
unexpected WARNING.

configure: WARNING: stdbool.h: present but cannot be compiled
configure: WARNING: stdbool.h: check for missing prerequisite headers?
configure: WARNING: stdbool.h: see the Autoconf documentation
configure: WARNING: stdbool.h: section "Present But Cannot Be Compiled"
configure: WARNING: stdbool.h: proceeding with the compiler's result
configure: WARNING:   ## - ##
configure: WARNING:   ## Report to http://www.open-mpi.org/community/help/ ##
configure: WARNING:   ## - ##


"log.make.SunOS.sparc.64_cc" breaks with the following error.

...

make[9]: Entering directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/tools/otfaux'
  CXXotfaux.o
"../../../../../../../../../openmpi-1.6.1/ompi/contrib/vt/vt/extlib/otf/tools/ot
faux/otfaux.cpp",
  line 834: Error: The function "rint" must have a prototype.
1 Error(s) detected.
make[9]: *** [otfaux.o] Error 2
make[9]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/tools/otfaux'
make[8]: *** [all-recursive] Error 1
make[8]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/tools'
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf'
make[6]: *** [all] Error 2
make[6]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt'
make[3]: *** [all] Error 2
make[3]: Leaving directory 
`.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt/vt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi/contrib/vt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `.../openmpi-1.6.1-SunOS.sparc.64_cc/ompi'
make: *** [all-recursive] Error 1
tyr openmpi-1.6.1-SunOS.sparc.64_cc 134 


In which file must I add which prototype? Thank you very much for
any help in advance.


Kind regards

Siegmar



[OMPI users] error compiling openmpi-1.6.1 on Windows 7

2012-08-27 Thread Siegmar Gross
Hi,

I tried to compile openmpi-1.6.1 with CMake-2.8.3 and Visual Studio
2010 on Windows 7. All service packs and patches from Microsoft are
installed.

I changed the following options:

CMAKE_BUILD_TYPE: "Debug" modified to "Release"
CMAKE_INSTALL_PREFIX: modified to "c:/Program Files (x86)/openmpi-1.6.1"
OMPI_ENABLE_THREAD_MULTIPLE: "no" changed to "yes"
OMPI_RELEASE_BUILD: "no" changed to "yes"
OPAL_ENABLE_HETEREOGENEOUS:SUPPORT: "no" changed to "yes"
OPAL_ENABLE_IPV6:  "yes" changed to "no"
OPAL_ENABLE_MULTI_THREADS: "no" changed to "yes"

I also selected "Release" in "Visual Studio". Unfortunately I got the
following error ("void *" cannot be converted to "void **").

Fehler  77  error C2440: '=': 'void *' kann nicht in 'void **'
  konvertiert werden
  ...\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c
  1099  1   libmpi

Fehler  90  error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
  kann nicht geöffnet werden.
  ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi-server\LINK
  ompi-server

Fehler  94  error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
  kann nicht geöffnet werden.
  ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi_info\LINK
  ompi_info

Fehler  162 error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
  kann nicht geöffnet werden.
  ...\openmpi-1.6.1-Windows_VS2010_x32\ompi\mpi\cxx\LINK
  libmpi_cxx


I get also a lot of warnings, from wich I have listed a few.


Warnung 1   warning C4005: 'PACKAGE_BUGREPORT': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  185   1   libopen-pal
Warnung 2   warning C4005: 'PACKAGE_NAME': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  188   1   libopen-pal
Warnung 3   warning C4005: 'PACKAGE_STRING': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  191   1   libopen-pal
Warnung 4   warning C4005: 'PACKAGE_TARNAME': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  194   1   libopen-pal
Warnung 5   warning C4005: 'PACKAGE_VERSION': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  197   1   libopen-pal
Warnung 6   warning C4005: '__func__': Makro-Neudefinition
  ...\openmpi-1.6.1\opal\event\win32-code\config.h
  212   1   libopen-pal
Warnung 7   warning C4013: 'opal_event_warn' undefiniert;
   Annahme: extern mit Rückgabetyp int
  ...\openmpi-1.6.1\opal\event\WIN32-Code\win32.c
  170   1   libopen-pal
Warnung 8   warning C4005: 'INT8_MIN': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  721   libopen-pal
Warnung 9   warning C4005: 'INT16_MIN': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  731   libopen-pal
Warnung 10  warning C4005: 'INT32_MIN': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  741   libopen-pal
Warnung 11  warning C4005: 'INT8_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  761   libopen-pal
Warnung 12  warning C4005: 'INT16_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  771   libopen-pal
Warnung 13  warning C4005: 'INT32_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  781   libopen-pal
Warnung 14  warning C4005: 'UINT8_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  791   libopen-pal
Warnung 15  warning C4005: 'UINT16_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  801   libopen-pal
Warnung 16  warning C4005: 'UINT32_MAX': Makro-Neudefinition
  C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
  811   libopen-pal
Warnung 17  warning C4018: '<': Konflikt zwischen 'signed' und 'unsigned'
  ...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
  libopen-pal
Warnung 18  warning C4273: '_isatty': Inkonsistente DLL-Bindung.
  ...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
  libopen-pal
...

What can I do to get around the error so that I can compile Open MPI?
Thank you very much for any suggestions in advance.

Kind regards

Siegmar