On Mar 9, 2006, at 12:18 PM, Pierre Valiron wrote:

- Configure and compile are okay

Good to hear.

- However compiling the mpi.f90 takes over 35 *minutes* with -O1. This seems a bit excessive... I tried removing any -O option and things are just as slow. Is this behaviour related to open-mpi or to some wrong features of the Studio11 compiler ?

As Jeff said in a previous e-mail, some of this is, unfortunately, unavoidable. However, I think I found an issue that might greatly speedup this compile time. More information coming shortly.

- 'mpirun --help' non longer crashes.

One bug down, more to go ;).

- standard output seems messy:

a) 'mpirun -np 4 pwd' returns randomly 1 or two lines, never 4. The same behaviour occurs if the output is redirected to a file.

b) When running some simple "demo" fortran code, the standard output is buffered within open-mpi and all results are issued at the end. No intermediates are showed.

I found this problem, and it should be fixed with the nightly snaphots of the trunk from this weekend. I've requested the fixes be moved to the 1.0 release branch, but our release managers are a bit busy so it hasn't happened yet.

- running a slightly more elaborate program fails:

a) compile behaves differently with mpif77 and mpif90.

While mpif90 compiles and builds "silently", mpif77 is talkative:

valiron@icare ~/BENCHES > mpif77 -xtarget=opteron -xarch=amd64 -o all all.f NOTICE: Invoking /opt/Studio11/SUNWspro/bin/f90 -f77 -ftrap=%none - I/users/valiron/lib/openmpi-1.1a1r9224/include -xtarget=opteron - xarch=amd64 -o all all.f -L/users/valiron/lib/openmpi-1.1a1r9224/ lib -lmpi -lorte -lopal -lsocket -lnsl -lrt -lm -lthread -ldl
all.f:
       rw_sched:
MAIN all:
       lam_alltoall:
       my_alltoall1:
       my_alltoall2:
       my_alltoall3:
       my_alltoall4:
       check_buf:
       alltoall_sched_ori:
       alltoall_sched_new:

This is not an Open MPI problem, but how the Solaris compilers work on that machine. If you compile a non-MPI Fortran program with the f77 and f90 compilers on icare, you will see the same behavior. I'm not sure why the compilers behave like that, but there isn't much I can do to fix it.

b) whatever the code was compiled with mpif77 or mpif90, execution fails:

valiron@icare ~/BENCHES > mpirun -np 2 all
Signal:11 info.si_errno:0(Error 0) si_code:1(SEGV_MAPERR)
Failing at addr:40
*** End of error message ***
Signal:11 info.si_errno:0(Error 0) si_code:1(SEGV_MAPERR)
Failing at addr:40
*** End of error message ***

Does this code work with other MPI implementations? I'm still trying to track the problem down, but it looks like an invalid request is cropping up in a call to MPI_Wait and that is causing the segmentation fault. There may be another issue, but I need to do a bit more testing to be sure.


Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/


Reply via email to