netcdf4/hdf5/mpi (-dev) on Debian sid
Sylwester Arabas
sarabas at igf.fuw.edu.pl
Tue Jan 31 18:46:43 UTC 2012
Hi again,
On Jan 30, 2012, at 6:58 PM, Francesco P. Lovergine wrote:
> On Mon, Jan 30, 2012 at 04:16:40PM +0100, slayoo wrote:
>> I'm trying to get a development set-up of the netcdf4 package
>> on Debian sid with MPI-hdf5 support. Unfortunatelly, without sucess :(
>>
>> $ sudo apt-get -V install libhdf5-mpi-dev libnetcdf-dev
>> ...
> Currently hdf5 does not provide an MPI version installable with the serial
> one, due to upstream bad habit of using the same name and sonames for all
> versions (serial,parallel and so on). So you have to use the serial version.
> One possibility would be providing parallel versions for all buildable
> chains of tools, as an alternative, but it would be very complicated.
Apparently, it seems that it's the only option - i.e. to provide
netcdf-openmpi, netcdf-mpich, ... etc packages. Here's an extract from
the netCDF source (libsrc4/nc4file.c):
> 164 /* Get the 4-byte blob from the beginning of the file. Don't use posix
> 165 * for parallel, use the MPI functions instead. */
> 166 #ifdef USE_PARALLEL
> 167 if (use_parallel)
> 168 {
> 169 MPI_File fh;
> 170 MPI_Status status;
> 171 int retval;
> 172 if ((retval = MPI_File_open(comm, (char *)path, MPI_MODE_RDONLY,
> 173 info, &fh)) != MPI_SUCCESS)
> 174 return NC_EPARINIT;
> 175 if ((retval = MPI_File_read(fh, blob, MAGIC_NUMBER_LEN, MPI_CHAR,
> 176 &status)) != MPI_SUCCESS)
> 177 return NC_EPARINIT;
> 178 if ((retval = MPI_File_close(&fh)) != MPI_SUCCESS)
> 179 return NC_EPARINIT;
> 180 }
> 181 else
> 182 #endif /* USE_PARALLEL */
So, if I get it right: if netCDF uses MPI calls within such ifdefs,
it has to be compiled with mpicc-like compiler calls, and hence the
binary packages for serial, openmpi, and mpich versions of netCDF
have to be different?
HTH,
Sylwester
--
http://www.igf.fuw.edu.pl/~slayoo/
Please consider your environmental responsibility before printing this e-mail.
More information about the Pkg-grass-devel
mailing list