[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #GNO-148344]: Building parallel NetCDF with Intel
- Subject: [netCDF #GNO-148344]: Building parallel NetCDF with Intel
- Date: Thu, 31 Jan 2013 08:59:07 -0700
Hi Mark,
> I am trying to build paralle NetCDF 4.1.3 using Intel compilers and Intel MPI.
> I set the following:
> export CC=mpiicc
> export CXX=mpiicpc
> export FC=mpiifort
> export F77=mpiifort
> export FCFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export CFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export CXXFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export FFLAGS='-fPIC -I/usr/local/hdf5-1.8.10_nogpfs/include -g -O2 -mp
> -recursive'
> export LDFLAGS='-L/usr/local/hdf5-1.8.10_nogpfs/lib'
>
> I have working and tested HDF5 with parallel I/O.
>
> I configure with:
> ./configure --prefix=/usr/local/netcdf-4.1.3-par
> and finishes succefully.
>
> Then when I run make, I get the errors below:
> libtool: link: mpiifort -shared .libs/fort-attio.o .libs/fort-control.o
> .libs/fort-dim.o .libs/fort-genatt.o .libs/fort-geninq.o .libs/fort-genvar.o
> .libs/fort-lib.o .libs/fort-misc.o .libs/fort-v2compat.o .libs/fort-vario.o
> .libs/fort-var1io.o .libs/fort-varaio.o .libs/fort-varmio.o
> .libs/fort-varsio.o .libs/fort-nc4.o --whole-archive
> ../f90/.libs/libnetcdff90.a --no-whole-archive -rpath
> /usr/local/src/NETCDF/netcdf-4.1.3/liblib/.libs -rpath
> /usr/local/netcdf-4.1.3-par/lib -L/usr/local/hdf5-1.8.10_nogpfs/lib
> ../liblib/.libs/libnetcdf.so
> -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/lib64
> /usr/local/hdf5-1.8.10_nogpfs/lib/libhdf5_hl.a
> /usr/local/hdf5-1.8.10_nogpfs/lib/libhdf5.a -lz -lcurl
> -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/intel64/lib
> -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
>
> -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/../compiler/lib/intel64
> -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe
_2013.1.117/ipp/lib/intel64
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/ -L/lib/../lib64
-L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/../compiler/lib/intel64/
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64/
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64/
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../ -L/lib64 -L/lib/
-L/usr/lib64 -L/usr/lib -lmpi -lmpigf -lmpigi -lrt -lifport -lifcore -limf -lm
-lipgo -lin
tlc -lpthread -lsvml -lgcc -lgcc_s -lirc_s -ldl -lc -soname libnetcdff.so.5
-o .libs/libnetcdff.so.5.1.0
> ifort: command line warning #10006: ignoring unknown option '-fwhole-archive'
> ifort: command line warning #10006: ignoring unknown option
> '-fno-whole-archive'
> ifort: command line warning #10006: ignoring unknown option '-rpath'
> ifort: command line warning #10006: ignoring unknown option '-rpath'
> ifort: command line warning #10006: ignoring unknown option '-soname'
> ifort: error #10236: File not found: 'libnetcdff.so.5'
> make[3]: *** [libnetcdff.la] Error 1
> make[3]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3/fortran'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3/fortran'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3'
> make: *** [all] Error 2
>
> Please advise,
First, I would advise to use the more recent separate C and Fortran netCDF
releases
netcdf-4.2.1.1
netcdf-fortran-4.2 or netcdf-fortran-4.4-beta1
because it's more straightforward to get the C release working and installed
first,
then build the Fortran release to use it:
http://www.unidata.ucar.edu/netcdf/docs/building.html
But you may still have problems, because we haven't tested with OpenMPI or
adapted
netCDF to use OpenMPI, in case that's necessary. All our tests have been with
MPICH.
Our staff member with parallel I/O expertise left about a year ago, and we
don't
currently have much knowledge or experience with parallel I/O on HPC platforms,
although we will soon be getting some help in that area.
As far as the specific problem you reported, it looks like a problem with the
mpiifort
wrapper. It seems to be throwing in extra options such as --whole-archive and
--no-whole-archive that are intended for the linker, so should instead appear as
-L,--whole-archive and -L,--no-whole-archive. If these problems persist when
you
update to newer versions of the netCDF-C and Fortran libraries, you may have to
get
help from the mpiifort developers.
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: GNO-148344
Department: Support netCDF
Priority: Normal
Status: Closed