[Fwd: pnetcdf & Open MPI]
Jianwei Li
jianwei at ece.northwestern.edu
Thu May 4 11:47:09 CDT 2006
Hi Dries,
Thank you for your test!
It looks like that the Open MPI you are using does not support
MPI_COMBINER_SUBARRAY.
Can you double check that in your configure output?
For example, my system gives the following configuration:
checking if MPI includes MPI_COMBINER_DUP... yes
checking if MPI includes MPI_COMBINER_HVECTOR_INTEGER... yes
checking if MPI includes MPI_COMBINER_HINDEXED_INTEGER... yes
checking if MPI includes MPI_COMBINER_SUBARRAY... yes
checking if MPI includes MPI_COMBINER_DARRAY... yes
checking if MPI includes MPI_COMBINER_RESIZED... yes
checking if MPI includes MPI_COMBINER_STRUCT_INTEGER... yes
checking if MPI includes MPI_COMBINER_INDEXED_BLOCK... yes
checking if MPI includes MPI_COMBINER_F90_REAL... yes
checking if MPI includes MPI_COMBINER_F90_INTEGER... yes
checking if MPI includes MPI_COMBINER_F90_COMPLEX... yes
checking if MPI includes MPI_CHARACTER... no
checking if MPI includes MPI_REAL... no
checking if MPI includes MPI_INTEGER... no
checking if MPI includes MPI_DOUBLE_PRECISION... no
checking if MPI includes MPI_INTEGER1... no
checking if MPI includes MPI_INTEGER2... no
checking if MPI includes MPI_INTEGER4... no
checking if MPI includes MPI_INTEGER8... no
checking if MPI includes MPI_INTEGER16... no
checking if MPI includes MPI_REAL4... no
checking if MPI includes MPI_REAL8... no
checking if MPI includes MPI_REAL16... no
checking if MPI includes MPI_COMPLEX8... no
checking if MPI includes MPI_COMPLEX16... no
checking if MPI includes MPI_COMPLEX32... no
Thanks!
Jianwei
On Thu, 2006-05-04 at 12:38 +0200, Dries Kimpe wrote:
> The facts:
>
> * parallel netcdf compiles, both with Open MPI (svn trunk) and mpich2 .
> * With Open MPI, all tests fail with the following message
>
> Testing write ... Error: Unsupported datatype passed to
> ADIOI_Count_contiguous_blocks
> [lts.mydomain.be:26763] [0,0,0] ORTE_ERROR_LOG: Not found in file
> ../../../../orte/mca/pls/base/pls_base_proxy.c at line 189
>
> (both independent&collective writes, no mather what the underlying variable type is).
>
> Steps to reproduce the problem:
>
> 1) build Open MPI trunk revision 9809
>
> Special configure options used: --enable-static --enable-shared
> gcc:
> gcc (GCC) 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)
> Copyright (C) 2003 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> 2) verify that the correct compiler is being called
>
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi $ mpic++ -showme
> g++ -I/home/lts/openmpi/include -I/home/lts/openmpi/include/openmpi -pthread -L/home/lts/openmpi/lib
> -lmpi_cxx -lmpi -lorte -lopal -lrt -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi $ mpicc -showme
> gcc -I/home/lts/openmpi/include -I/home/lts/openmpi/include/openmpi -pthread -L/home/lts/openmpi/lib
> -lmpi -lorte -lopal -lrt -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi $ mpicc --version
> gcc (GCC) 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)
> Copyright (C) 2003 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
>
> 3) unpack parallel-netcdf-1.0.1.tar.bz2
> mkdir build
> cd build
> mkdir openmpi
> cd openmpi
> ../../configure --prefix=/home/lts/openmpi --disable-fortran CC=mpicc
> make
> make install
>
>
> 4) go to test directory
> make
> (-> fortran tests fail to compile, which is 'normal')
>
> Try out test/test_double:
>
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi/test/test_double $ ./test_write test.nc
> Testing write ... ADIOI_GEN_DELETE (line 22): **io No such file or directoryError: Unsupported
> datatype passed to ADIOI_Count_contiguous_blocks
> [mhd3:24861] [0,0,0] ORTE_ERROR_LOG: Not found in file
> ../../../../orte/mca/pls/base/pls_base_proxy.c at line 189
>
> verify correct libraries are being used:
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi/test/test_double $ ldd test_write
> linux-gate.so.1 => (0xffffe000)
> libmpi.so.0 => /home/lts/openmpi/lib/libmpi.so.0 (0xb7e3d000)
> liborte.so.0 => /home/lts/openmpi/lib/liborte.so.0 (0xb7da5000)
> libopal.so.0 => /home/lts/openmpi/lib/libopal.so.0 (0xb7d71000)
> librt.so.1 => /lib/librt.so.1 (0xb7d47000)
> libdl.so.2 => /lib/libdl.so.2 (0xb7d43000)
> libnsl.so.1 => /lib/libnsl.so.1 (0xb7d2e000)
> libutil.so.1 => /lib/libutil.so.1 (0xb7d29000)
> libm.so.6 => /lib/libm.so.6 (0xb7d07000)
> libpthread.so.0 => /lib/libpthread.so.0 (0xb7cf5000)
> libc.so.6 => /lib/libc.so.6 (0xb7be2000)
> /lib/ld-linux.so.2 (0xb7f53000)
>
>
> Same behaviour on multiple CPUs:
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi/test/test_double $ mpirun -np 2
> ./test_write test.nc
> Testing write ... ADIOI_GEN_DELETE (line 22): **io No such file or directoryError: Unsupported
> datatype passed to ADIOI_Count_contiguous_blocks
> Error: Unsupported datatype passed to ADIOI_Count_contiguous_blocks
> 1 additional process aborted (not shown)
>
>
>
> With test_dtype:
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi/test/test_dtype $ ./test_nonblocking test.nc
> testing memory subarray layout ...
> ADIOI_GEN_DELETE (line 22): **io No such file or directory Filesize = 2.024MB, MAX_Memory_needed =
> 4.048MB
>
> Initialization: NDIMS = 3, NATIVE_ETYPE = float, NC_TYPE = NC_DOUBLE
>
> NC Var_1 Shape: [17, 51, 153] Always ORDER_C
> NC Var_2 Shape: [153, 51, 17] Always ORDER_C
> Memory Array Shape: [17, 51, 153] MPI_ORDER_C
> Memory Array Copys: buf1 for write, buf2 for read back (and compare)
>
> Logical Array Partition: BLOCK partition along all dimensions
>
> Access Pattern (subarray): NPROCS = 1
>
> Proc 0 of 1: starts = [ 0, 0, 0], counts = [17, 51, 153]
>
> TEST1:
> [nonblocking] all procs writing their subarrays into Var_1 ...
> Error: Unsupported datatype passed to ADIOI_Count_contiguous_blocks
> [mhd3:27627] [0,0,0] ORTE_ERROR_LOG: Not found in file
> ../../../../orte/mca/pls/base/pls_base_proxy.c at line 189
> lts at mhd3 ~/work/pnetcdf/parallel-netcdf-1.0.1/build/ompi/test/test_dtype $
>
>
> I already searched google for this kind of array, but found nothing useful.
>
> Greetings,
> Dries
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
> email message attachment (pnetcdf & Open MPI)
> On Thu, 2006-05-04 at 12:38 +0200, Dries Kimpe wrote:
More information about the parallel-netcdf
mailing list