forked from spack/spack
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make HighFive patchable to allow PageBuffer in pHDF5. (#1784)
* brion: update highfive dependency. * Enable applying pagebuffer patch to highfive.
- Loading branch information
Showing
4 changed files
with
62 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,7 +48,8 @@ class Brion(CMakePackage): | |
# TODO: bzip2 is a dependency of boost. Needed here because of linking | ||
# issue (libboost_iostreams.so.1.68.0 not finding libbz2.so) | ||
depends_on('bzip2') | ||
depends_on('[email protected] +boost', when='@3.3.8:') | ||
depends_on('highfive +boost', when='@3.3.9:') | ||
depends_on('[email protected] +boost', when='@3.3.8') | ||
depends_on('[email protected] +boost', when='@3.3.2:3.3.7') | ||
depends_on('[email protected] +boost', when='@:3.3.1') | ||
depends_on('mvdtool') | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,8 +31,7 @@ class MorphoKit(CMakePackage): | |
# The HighFive update is needed for paged HDF5 features. Unfortunately, the | ||
# page buffer is artificially unsupported in pHDF5. Hence, we depend on a | ||
# particular, patched version of HDF5. | ||
depends_on('[email protected]:', when='@0.3.5:') | ||
depends_on('[email protected]:+page_buffer_patch', when='@0.3.5:') | ||
depends_on('[email protected]: +mpi+page_buffer_patch', when='@0.3.5:') | ||
|
||
# MPI is needed for the morphology merger. | ||
depends_on('mpi', when='@0.3.5:') | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,17 +41,28 @@ class Highfive(CMakePackage): | |
variant('mpi', default=True, description='Support MPI') | ||
variant('eigen', default=False, description='Support Eigen') | ||
variant('xtensor', default=False, description='Support xtensor') | ||
variant('page_buffer_patch', default=False, when="@2.6.2", | ||
description='Allow using the pagebuffer with pHDF5.') | ||
|
||
# Develop builds tests which require boost | ||
conflicts('~boost', when='@develop') | ||
|
||
depends_on('boost @1.41: +serialization+system', when='+boost') | ||
depends_on('hdf5 ~mpi', when='~mpi') | ||
depends_on('hdf5 +mpi', when='+mpi') | ||
depends_on('hdf5 +mpi', when='+mpi~page_buffer_patch') | ||
|
||
# Using the page buffer with pHDF5 requires HDF5 to be patched. This | ||
# patch is currently only available for one version. | ||
depends_on('[email protected] +page_buffer_patch+mpi', when='+mpi+page_buffer_patch') | ||
|
||
depends_on('eigen', when='+eigen') | ||
depends_on('xtensor', when='+xtensor') | ||
depends_on('mpi', when='+mpi') | ||
|
||
# Enables the `PageBufferSize` property list also when building against pHDF5. | ||
patch('remove-page-buffer-phdf5-check_v2.6.2.patch', when="+page_buffer_patch+mpi", | ||
sha256="72a74f603bc957a9069c8e20abe28f303c4cab36d5d0e23bdcd6c6636fefe1f0") | ||
|
||
def cmake_args(self): | ||
return [ | ||
'-DUSE_BOOST:Bool=' + str(self.spec.satisfies('+boost')), | ||
|
47 changes: 47 additions & 0 deletions
47
bluebrain/repo-patches/packages/highfive/remove-page-buffer-phdf5-check_v2.6.2.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
diff --git i/deps/catch2 w/deps/catch2 | ||
index 182c910..216713a 160000 | ||
--- i/deps/catch2 | ||
+++ w/deps/catch2 | ||
@@ -1 +1 @@ | ||
-Subproject commit 182c910b4b63ff587a3440e08f84f70497e49a81 | ||
+Subproject commit 216713a4066b79d9803d374f261ccb30c0fb451f | ||
diff --git i/include/highfive/H5PropertyList.hpp w/include/highfive/H5PropertyList.hpp | ||
index 916e903..b3848f7 100644 | ||
--- i/include/highfive/H5PropertyList.hpp | ||
+++ w/include/highfive/H5PropertyList.hpp | ||
@@ -327,7 +327,6 @@ class FileSpacePageSize { | ||
hsize_t _page_size; | ||
}; | ||
|
||
-#ifndef H5_HAVE_PARALLEL | ||
/// \brief Set size of the page buffer. | ||
/// | ||
/// Please, consult the upstream documentation of | ||
@@ -360,7 +359,6 @@ class PageBufferSize { | ||
unsigned _min_raw; | ||
}; | ||
#endif | ||
-#endif | ||
|
||
/// \brief Set hints as to how many links to expect and their average length | ||
/// | ||
diff --git i/include/highfive/bits/H5PropertyList_misc.hpp w/include/highfive/bits/H5PropertyList_misc.hpp | ||
index a41707a..dcbba05 100644 | ||
--- i/include/highfive/bits/H5PropertyList_misc.hpp | ||
+++ w/include/highfive/bits/H5PropertyList_misc.hpp | ||
@@ -110,7 +110,6 @@ inline void FileSpacePageSize::apply(const hid_t list) const { | ||
} | ||
} | ||
|
||
-#ifndef H5_HAVE_PARALLEL | ||
inline PageBufferSize::PageBufferSize(size_t page_buffer_size, | ||
unsigned min_meta_percent, | ||
unsigned min_raw_percent) | ||
@@ -124,7 +123,6 @@ inline void PageBufferSize::apply(const hid_t list) const { | ||
} | ||
} | ||
#endif | ||
-#endif | ||
|
||
#ifdef H5_HAVE_PARALLEL | ||
|