Hi, I am having a problem with OpenMPI and NetCDF4 Fortran 90 parallel IO. I'm fairly certain the problem is with NetCDF and not HDF5 because 'make check' for HDF5 tests the C AND Fortran 90 parallel IO and all tests pass. I have traced this problem extensively in TotalView and it seems to stem from the fact that MPI_COMM_WORLD is zero in the Fortran 90 interface for OpenMPI. In contrast, MPICH2 Fortran 90 interface sets MPI_COMM_WORLD to 1140850688. It errors on the first NetCDF function call, 'nf90_create_par'. The error I get with OpenMPI is: bash-3.00$ mpirun -np 2 nf90_test [daggoo:12142] *** An error occurred in MPI_Comm_dup [daggoo:12142] *** on communicator MPI_COMM_WORLD [daggoo:12142] *** MPI_ERR_COMM: invalid communicator [daggoo:12142] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort) *** Writing output file : nf90_test.nc --------------------------------------------------------------------- mpirun has exited due to process rank 0 with PID 12142 on node daggoo exiting without calling "finalize". This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). --------------------------------------------------------------------- [daggoo:12141] 1 more process has sent help message help-mpi-errors.txt / mpi_errors_are_fatal [daggoo:12141] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages bash-3.00$ If I compile and run the exact same program with MPICH2 I completes successfully. There are several more NetCDF calls later in the program. Of course, when using MPICH2 I use the HDF5 and NetCDF4 libraries compiled with MPICH2. Is there a workaround? OpenMPI provides C functions to convert between C and Fortran values for MPI_COMM_*: MPI_Comm MPI_Comm_f2c(MPI_Fint comm) & MPI_Fint MPI_Comm_c2f(MPI_Comm comm) Reference: http://www.mpi-forum.org/docs/mpi21-report-bw/node355.htm#Node355 I have attached a gzipped tar of the two source files and the Makefile. Thanks, David Robertson
Attachment:
io_test.tar.gz
Description: GNU Zip compressed data
netcdfgroup
archives: