Re: [OMPI users] pgi compiler configure problems

2006-12-15 Thread Michael Galloway
On Thu, Dec 14, 2006 at 03:28:25PM -0700, Brian W. Barrett wrote:
> 
> It appears that this is being caused by a problem much earlier in the  
> configure process.  For some reason I don't totally understand, the  
> configure script is finding the size of shorts, ints, longs, long  
> longs, void *s, etc. to be 2.  This is rather unexpected on a 64-bit  
> machine, obviously.  In testing with PGI 6.1-3 on x86_64, it looks  
> like the IPA option is causing this to occur -- if I remove the IPA  
> option from the flags, configure runs properly.
> 
> In my (somewhat humble) opinion, turning on such aggressive options  
> is dangerous when compiling Open MPI (or most MPI implementations).   
> With share memory and RDMA interconnects, assumptions compiler  
> writers make when running at such high optimization setting are  
> frequently not true for codes like Open MPI.  And the performance  
> gain in compiling the MPI layer with such high optimizations is  
> frequently near zero (that being said, there is a significant  
> advantage to adding some optimization flags and not including  
> debugging symbols in the MPI library if you don't need them).
> 
> It should be safe to compile Open MPI without the IPA options and  
> still use IPA when compiling your application.
> 
>

brian, indeed that seems to have been the issue. thanks for the help!

-- michael 


Re: [OMPI users] Multiple definition of `malloc' and other symbols when doing static builds with mpif90

2006-12-15 Thread Brian W. Barrett

On Dec 13, 2006, at 4:15 PM, Dennis McRitchie wrote:

When creating a static build of an MPI program, I get a number of  
fatal

error messages, as listed below. They are all regarding conflicts
between duplicate definitions and different sizes of malloc, free,
realloc, etc. for the RHEL4 and openmpi versions of these functions. I
could build openmpi with --without-memorymanager, but we are using
infiniband and need the memory manager features.

I am using openmpi v1.1.2 built against the Intel fortran compiler  
v9.1

on RHEL4.

"/usr/local/openmpi-intel/bin/mpif90 -showme" returns:

ifort -I/usr/local/openmpi-1.1.2-intel/include -pthread
-I/usr/local/openmpi-1.1.2-intel/lib
-L/usr/local/openmpi-1.1.2-intel/lib -lmpi_f90 -lmpi -lorte -lopal - 
lrt

-lpbs -ldl -Wl,--export-dynamic -lnsl -lutil -ldl

The offending line is the one that links the program. I've added  
the -v

option so you can see all the utilities invoked below.

Is there any way to prevent this behavior?


The only way to prevent this behavior when building a static library  
is to disable the memory manager code in Open MPI.  Note that this  
code is not required for use of the OpenIB, MVAPI, or GM transports,  
only to get peak bandwidth on applications with extremely high  
communication buffer reuse.  In fact, the default operating mode for  
Open MPI is to not use the memory manager code for registration cache.


So configure and recompile with --without-memory-manager and Open MPI  
will compile fine.  You may also want to add the configure option -- 
disable-dlopen to silence some (but not all) of the other warnings.



Brian

--
  Brian Barrett
  Open MPI Team, CCS-1
  Los Alamos National Laboratory




[OMPI users] Big improvements in derived datatype performance on 1.2

2006-12-15 Thread Doug Gregor

Hi all,

While doing some benchmarking with derived data types, I found that  
the prerelease Open MPI 1.2 is giving *much* better performance than  
Open MPI 1.1. My simple benchmark is a modified NetPIPE that sends/ 
receives data via a derived data type build with MPI_Contiguous(1,  
MPI_BYTE, ...) rather than MPI_BYTE. With Open MPI 1.1, this killed  
performance; with Open MPI 1.2, it had essentially no performance  
impact. Here's the NetPIPE chart, for reference:


	http://www.generic-programming.org/~dgregor/images/blog/netpipe- 
ompi.png


This message was originally going to point out the performance issues  
with Open MPI 1.1, but instead I'll just say "Keep up the good work!"


Cheers,
Doug "even-if-I-were-objective-Open MPI-would-be-better" Gregor


Re: [OMPI users] Big improvements in derived datatype performance on 1.2

2006-12-15 Thread George Bosilca

Doug,

Thanks for the graph. I was wondering how do we compare with the  
others MPI implementations. If you have others MPI installed on your  
cluster can you do the same measurements with them and augment your  
graph with the results ?


  Thanks,
george.

On Dec 15, 2006, at 3:03 PM, Doug Gregor wrote:


Hi all,

While doing some benchmarking with derived data types, I found that
the prerelease Open MPI 1.2 is giving *much* better performance than
Open MPI 1.1. My simple benchmark is a modified NetPIPE that sends/
receives data via a derived data type build with MPI_Contiguous(1,
MPI_BYTE, ...) rather than MPI_BYTE. With Open MPI 1.1, this killed
performance; with Open MPI 1.2, it had essentially no performance
impact. Here's the NetPIPE chart, for reference:

http://www.generic-programming.org/~dgregor/images/blog/netpipe-
ompi.png

This message was originally going to point out the performance issues
with Open MPI 1.1, but instead I'll just say "Keep up the good work!"

Cheers,
Doug "even-if-I-were-objective-Open MPI-would-be-better" Gregor
___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users




[OMPI users] OpenMPI output problem, for IBM AIX 5.3

2006-12-15 Thread Nader Ahmadi
Hello,

OpenMPI output issues when using IBM AIX 5.3

We have recently installed OpenMPI 1.1.2 (see attacched, ompi_inf -a output for 
detail). 

on an IBM AIX 5.3. We had no problem during installation and configration. 
"ompi_info -a" runs with no problem.

Running our application we got no error or output from "printf", or "cout".

So, we wrote a simple 10 line program, which basicly setup mpi and does a 

"printf" and "cout". 

We still didn't get any output from this program, when using MPI in a none 
debug mode.

I find out that we get the output from this simple program if we add

"--debug-daemons" to the mpirun commands.

But, still for a more complex program we don't get any output even with  the 
"--debug-daemons" flag.

My question are 

1 - why do we need a debug flag to get any output?

2 - does anyone has any recommendation on how to build an mpi

application for IBM AIX 5.3 to get the output, without any debug flag.

Thanks for any comments

Nader,




testMPI.log
Description: Binary data