Update to 4.3.3

This commit is contained in:
Orion Poplawski 2015-02-13 22:09:28 -07:00
parent 4a6e46edce
commit 597495de3d
4 changed files with 14 additions and 131 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@ netcdf-4.1.1.tar.gz
/netcdf-4.3.0.tar.gz
/v4.3.1.1.tar.gz
/netcdf-4.3.2.tar.gz
/netcdf-4.3.3.tar.gz

View File

@ -1,122 +0,0 @@
commit 435d8a03ed28bb5ad63aff12cbc6ab91531b6bc8
Author: Quincey Koziol <quincey@koziol.cc>
Date: Wed May 7 08:45:15 2014 -0500
Account for the HDF5 library not having the MPI-POSIX VFD configured in.
diff --git a/libsrc4/nc4file.c b/libsrc4/nc4file.c
index ec3bb0c..5c957be 100644
--- a/libsrc4/nc4file.c
+++ b/libsrc4/nc4file.c
@@ -308,12 +308,21 @@ nc4_create_file(const char *path, int cmode, MPI_Comm comm, MPI_Info info,
if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0)
BAIL(NC_EPARINIT);
}
+#ifdef USE_PARALLEL_POSIX
else /* MPI/POSIX */
{
LOG((4, "creating parallel file with MPI/posix"));
if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0)
BAIL(NC_EPARINIT);
}
+#else /* USE_PARALLEL_POSIX */
+ /* Should not happen! Code in NC4_create/NC4_open should alias the
+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not
+ * available in HDF5. -QAK
+ */
+ else /* MPI/POSIX */
+ BAIL(NC_EPARINIT);
+#endif /* USE_PARALLEL_POSIX */
/* Keep copies of the MPI Comm & Info objects */
if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm))
@@ -465,6 +474,17 @@ NC4_create(const char* path, int cmode, size_t initialsz, int basepe,
)
return NC_EINVAL;
+#ifndef USE_PARALLEL_POSIX
+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias
+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK
+ */
+ if(cmode & NC_MPIPOSIX)
+ {
+ cmode &= ~NC_MPIPOSIX;
+ cmode |= NC_MPIIO;
+ }
+#endif /* USE_PARALLEL_POSIX */
+
cmode |= NC_NETCDF4;
/* Apply default create format. */
@@ -2168,12 +2188,21 @@ nc4_open_file(const char *path, int mode, MPI_Comm comm,
if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0)
BAIL(NC_EPARINIT);
}
+#ifdef USE_PARALLEL_POSIX
else /* MPI/POSIX */
{
LOG((4, "opening parallel file with MPI/posix"));
if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0)
BAIL(NC_EPARINIT);
}
+#else /* USE_PARALLEL_POSIX */
+ /* Should not happen! Code in NC4_create/NC4_open should alias the
+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not
+ * available in HDF5. -QAK
+ */
+ else /* MPI/POSIX */
+ BAIL(NC_EPARINIT);
+#endif /* USE_PARALLEL_POSIX */
/* Keep copies of the MPI Comm & Info objects */
if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm))
@@ -2640,6 +2669,17 @@ NC4_open(const char *path, int mode, int basepe, size_t *chunksizehintp,
(mode & NC_MPIIO && mode & NC_MPIPOSIX))
return NC_EINVAL;
+#ifndef USE_PARALLEL_POSIX
+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias
+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK
+ */
+ if(mode & NC_MPIPOSIX)
+ {
+ mode &= ~NC_MPIPOSIX;
+ mode |= NC_MPIIO;
+ }
+#endif /* USE_PARALLEL_POSIX */
+
/* Depending on the type of file, open it. */
diff --git a/nc_test4/tst_nc4perf.c b/nc_test4/tst_nc4perf.c
index 47af70e..3528b82 100644
--- a/nc_test4/tst_nc4perf.c
+++ b/nc_test4/tst_nc4perf.c
@@ -244,6 +244,11 @@ int test_pio_4d(size_t cache_size, int facc_type, int access_flag, MPI_Comm comm
return 0;
}
+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX
+ * flag will be aliased to the NC_MPIIO flag within the library, and
+ * therefore this test will exercise the aliasing, with the MPI-IO VFD,
+ * under that configuration. -QAK
+ */
#define NUM_MODES 2
#define NUM_FACC 2
#define NUM_CHUNK_COMBOS_2D 3
diff --git a/nc_test4/tst_parallel3.c b/nc_test4/tst_parallel3.c
index 27f9c98..9fa534f 100644
--- a/nc_test4/tst_parallel3.c
+++ b/nc_test4/tst_parallel3.c
@@ -129,6 +129,11 @@ int main(int argc, char **argv)
if (mpi_rank == 0)
SUMMARIZE_ERR;
+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX
+ * flag will be aliased to the NC_MPIIO flag within the library, and
+ * therefore this test will exercise the aliasing, with the MPI-IO VFD,
+ * under that configuration. -QAK
+ */
if (mpi_rank == 0)
printf("*** Testing parallel IO for raw-data with MPIPOSIX-IO (driver)...");
facc_type = NC_NETCDF4|NC_MPIPOSIX;

View File

@ -1,18 +1,16 @@
Name: netcdf
Version: 4.3.2
Release: 7%{?dist}
Version: 4.3.3
Release: 1%{?dist}
Summary: Libraries for the Unidata network Common Data Form
Group: Applications/Engineering
License: NetCDF
URL: http://www.unidata.ucar.edu/software/netcdf/
# Use github tarball - the unidata download is missing files
Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
#Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-%{version}.tar.gz
#Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-%{version}.tar.gz
# Use pkgconfig in nc-config to avoid multi-lib issues
Patch0: netcdf-pkgconfig.patch
# Upstream patch to support hdf5 1.8.13 mpio change
Patch1: netcdf-mpio.patch
BuildRequires: chrpath
BuildRequires: doxygen
@ -188,9 +186,8 @@ NetCDF parallel openmpi static libraries
%prep
%setup -q -n %{name}-c-%{version}
%setup -q
%patch0 -p1 -b .pkgconfig
%patch1 -p1 -b .mpio
%build
@ -290,6 +287,8 @@ done
%doc examples
%{_bindir}/nc-config
%{_includedir}/netcdf.h
%{_includedir}/netcdf_meta.h
%{_libdir}/libnetcdf.settings
%{_libdir}/*.so
%{_libdir}/pkgconfig/netcdf.pc
%{_mandir}/man3/*
@ -310,6 +309,7 @@ done
%files mpich-devel
%{_libdir}/mpich/bin/nc-config
%{_includedir}/mpich-%{_arch}
%{_libdir}/mpich/lib/libnetcdf.settings
%{_libdir}/mpich/lib/*.so
%{_libdir}/mpich/lib/pkgconfig/%{name}.pc
%doc %{_libdir}/mpich/share/man/man3/*.3*
@ -331,6 +331,7 @@ done
%files openmpi-devel
%{_libdir}/openmpi/bin/nc-config
%{_includedir}/openmpi-%{_arch}
%{_libdir}/openmpi/lib/libnetcdf.settings
%{_libdir}/openmpi/lib/*.so
%{_libdir}/openmpi/lib/pkgconfig/%{name}.pc
%doc %{_libdir}/openmpi/share/man/man3/*.3*
@ -341,6 +342,9 @@ done
%changelog
* Fri Feb 13 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.3-1
- Update to 4.3.3
* Tue Jan 27 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.2-7
- Fix up provides/requires for mpi packages, use %%{?_isa}.

View File

@ -1 +1 @@
6d0a2a1e2bd854390062f4a808dd94c4 netcdf-4.3.2.tar.gz
5fbd0e108a54bd82cb5702a73f56d2ae netcdf-4.3.3.tar.gz