about summary refs log tree commit diff
path: root/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch')
-rw-r--r--pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch115
1 files changed, 115 insertions, 0 deletions
diff --git a/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch b/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch
new file mode 100644
index 000000000000..8dc831dbba12
--- /dev/null
+++ b/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch
@@ -0,0 +1,115 @@
+From 8cf3bfb14bd2a80f13d269a9e84cd99f86f19254 Mon Sep 17 00:00:00 2001
+From: Dana Robinson <derobins@hdfgroup.org>
+Date: Tue, 27 Nov 2018 10:31:54 -0800
+Subject: [PATCH] Yanked all MPI-1 calls
+
+---
+ src/H5.c          |  2 +-
+ src/H5Smpio.c     | 24 ++++++++----------------
+ testpar/t_cache.c | 20 ++++++++++----------
+ 3 files changed, 19 insertions(+), 27 deletions(-)
+
+diff --git a/src/H5.c b/src/H5.c
+index d1967e611b..bf4643ca59 100644
+--- a/src/H5.c
++++ b/src/H5.c
+@@ -138,7 +138,7 @@ H5_init_library(void)
+         if (mpi_initialized && !mpi_finalized) {
+             int key_val;
+ 
+-            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, 
++            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN, 
+                                                                  (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, 
+                                                                  &key_val, NULL)))
+                 HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
+diff --git a/src/H5Smpio.c b/src/H5Smpio.c
+index e71e2cb858..935d27972e 100644
+--- a/src/H5Smpio.c
++++ b/src/H5Smpio.c
+@@ -879,18 +879,14 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size,
+                     HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code)
+             }
+ 
+-#if MPI_VERSION >= 2
+-{
+             /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
+              * so we're using the MPI-2 version even though we don't need the lb
+              * value.
+              */
+-            MPI_Aint unused_lb_arg;
+-            MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent);
+-}
+-#else
+-            MPI_Type_extent(inner_type, &inner_extent);
+-#endif
++            {
++                MPI_Aint unused_lb_arg;
++                MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent);
++            }
+             stride_in_bytes = inner_extent * (MPI_Aint)d[i].strid;
+ 
+             /* If the element count is larger than what a 32 bit integer can hold,
+@@ -1511,18 +1507,14 @@ static herr_t H5S_mpio_create_large_type (hsize_t num_elements,
+             }
+         }
+ 
+-#if MPI_VERSION >= 2
+-{
+         /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
+          * so we're using the MPI-2 version even though we don't need the lb
+          * value.
+          */
+-        MPI_Aint unused_lb_arg;
+-        MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent);
+-}
+-#else
+-        MPI_Type_extent(old_type, &old_extent);
+-#endif
++        {
++            MPI_Aint unused_lb_arg;
++            MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent);
++        }
+ 
+         /* Set up the arguments for MPI_Type_struct constructor */
+         type[0] = outer_type;
+diff --git a/testpar/t_cache.c b/testpar/t_cache.c
+index 5e15ec274c..ca5ded9ecf 100644
+--- a/testpar/t_cache.c
++++ b/testpar/t_cache.c
+@@ -1217,15 +1217,15 @@ setup_derived_types(void)
+     struct mssg_t sample; /* used to compute displacements */
+ 
+     /* setup the displacements array */
+-    if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) ||
+-         ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) {
++    if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) ||
++         ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) {
+ 
+         nerrors++;
+         success = FALSE;
+@@ -1245,7 +1245,7 @@ setup_derived_types(void)
+ 
+     if ( success ) {
+ 
+-        result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
++        result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
+ 
+         if ( result != MPI_SUCCESS ) {
+ 
+-- 
+2.18.1
+