Skip to content
Snippets Groups Projects
Commit 7e32ae9f authored by Jens Henrik Goebbert's avatar Jens Henrik Goebbert
Browse files

update build

parent 300fc892
Branches
No related tags found
No related merge requests found
cmake_minimum_required (VERSION 2.8.10) cmake_minimum_required (VERSION 3.1.0)
project (H5ZFP C) project (H5ZFP C)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
......
...@@ -24,6 +24,7 @@ Quick Installation Guide: ...@@ -24,6 +24,7 @@ Quick Installation Guide:
export ZFP_ROOT=<ZFP_ROOT_DIR> export ZFP_ROOT=<ZFP_ROOT_DIR>
export HDF5_ROOT=<HDF5-INSTPATH> export HDF5_ROOT=<HDF5-INSTPATH>
export HDF5_DIR=${HDF5_ROOT}/share/cmake
export PATH=${HDF5_ROOT}/bin/:${PATH} export PATH=${HDF5_ROOT}/bin/:${PATH}
export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH
......
Copyright Notice and License Terms for
HDF5 ZFP compression filter plugin
-----------------------------------------------------------------------------
H5zfp - HDF5 filter using ZFP (LLNL) for improved compression H5zfp - HDF5 filter using ZFP (LLNL) for improved compression
Copyright (c) 2014-2015, RWTH Aachen University, JARA - Juelich Aachen Research Alliance. Copyright (c) 2014-2015 by RWTH Aachen University, JARA - Juelich Aachen Research Alliance.
Produced at the RWTH Aachen University, Germany. Copyright (c) 2016 by Juelich Forschungszentrum GmbH.
Written by Jens Henrik Göbbert (goebbert@jara.rwth-aachen.de) Written by Jens Henrik Göbbert (j.goebbert@fz-juelich.de)
All rights reserved. All rights reserved.
This file is part of the H5zfp library. This file is part of the H5zfp library.
For details, see http://www.jara.org/de/research/jara-hpc/. For details, see https://gitlab.version.fz-juelich.de/goebbert/hdf5plugins
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are met:
...@@ -18,9 +22,9 @@ this list of conditions and the disclaimer below. ...@@ -18,9 +22,9 @@ this list of conditions and the disclaimer below.
this list of conditions and the disclaimer (as noted below) in the this list of conditions and the disclaimer (as noted below) in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors may 3. Neither the name of the RWTH Aachen University or Jülich Forschungszentrum GmbH
be used to endorse or promote products derived from this software without nor the names of its contributors may be used to endorse or promote products
specific prior written permission. derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
...@@ -70,7 +74,6 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ...@@ -70,7 +74,6 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Additional BSD Notice Additional BSD Notice
...@@ -93,3 +96,4 @@ Security, LLC. The views and opinions of authors expressed herein do not ...@@ -93,3 +96,4 @@ Security, LLC. The views and opinions of authors expressed herein do not
necessarily state or reflect those of the United States Government or necessarily state or reflect those of the United States Government or
Lawrence Livermore National Security, LLC, and shall not be used for Lawrence Livermore National Security, LLC, and shall not be used for
advertising or product endorsement purposes. advertising or product endorsement purposes.
...@@ -17,8 +17,8 @@ More about HDF5 filers can be found at ...@@ -17,8 +17,8 @@ More about HDF5 filers can be found at
Requirements, Requirements,
Building this ZFP compression filter for HDF5 requires CMake. Building this ZFP compression filter for HDF5 requires CMake.
It also requires knowledge of the hdf5 installation and minimum of HDF5. It also requires knowledge of the hdf5 installation and minimum of HDF5.
CMake (>=2.8.10), http://www.cmake.org CMake (>=3.1.0), http://www.cmake.org
HDF5 (>=1.8.12 build with cmake), http://www.hdfgroup.org HDF5 (>=1.8.15 build with cmake), http://www.hdfgroup.org
Howto use, Howto use,
hdf5plugin_ZFP is a compression filter, which will be dynamically loaded at runtime by the HDF5 library. hdf5plugin_ZFP is a compression filter, which will be dynamically loaded at runtime by the HDF5 library.
...@@ -52,15 +52,7 @@ Prepare HDF5, ...@@ -52,15 +52,7 @@ Prepare HDF5,
make && make install make && make install
export PATH=<CMAKE-INSTPATH>/bin/:${PATH} export PATH=<CMAKE-INSTPATH>/bin/:${PATH}
2) patch HDF5 2) configure HDF5 (using cmake(!))
!!! ATTENTION !!!
h5repack <= 1.8.14 has a bug in its command line parser (test 2 will fail).
The bug has been reported and will probably be fixed in 1.8.15.
The patch can be found in hdf5plugin_ZFP/patch/.
This patch enables the easy use of h5repack as described in test 2.
patch <HDF5-SOURCEPATH>/tools/h5repack/h5repack_parse.c < <HDF5PLUGIN_ZFP>/patch/h5repack_parse.patch
3) configure HDF5 (using cmake(!))
cd <HDF5-SOURCEPATH> cd <HDF5-SOURCEPATH>
mkdir build; cd build mkdir build; cd build
ccmake .. ccmake ..
...@@ -68,51 +60,53 @@ Prepare HDF5, ...@@ -68,51 +60,53 @@ Prepare HDF5,
set {HDF5_BUILD_TOOLS} == "ON" set {HDF5_BUILD_TOOLS} == "ON"
set {HDF5_ENABLE_PARALLEL} == "OFF" (filters are not supported for parallel HDF5, yet) set {HDF5_ENABLE_PARALLEL} == "OFF" (filters are not supported for parallel HDF5, yet)
4) build and install HDF5 3) build and install HDF5
make make
make install make install
Prepare libZFP, Prepare libZFP,
5) build static library libzfp.a (minimum 0.3.0) 4) build static library libzfp.a (minimum 0.3.0)
cd <ZFP_SOURCES>/src cd <ZFP_SOURCES>/src
make make
Build, Build,
6) set enviroment vars 5) set enviroment vars (check set_env.sh)
export ZFP_ROOT=<ZFP_ROOT_DIR> export ZFP_ROOT=<ZFP_ROOT_DIR>
export HDF5_ROOT=<HDF5-INSTPATH> export HDF5_ROOT=<HDF5-INSTPATH>
export HDF5_DIR=${HDF5_ROOT}/share/cmake
export HDF5_PLUGIN_PATH=${HDF5_ROOT}/lib/plugin
export PATH=${HDF5_ROOT}/bin/:${PATH} export PATH=${HDF5_ROOT}/bin/:${PATH}
export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH
7) configure hdf5plugin_ZFP 6) configure hdf5plugin_ZFP
cd hdf5plugin_ZFP cd hdf5plugin_ZFP
mkdir build; cd build mkdir build; cd build
ccmake .. ccmake ..
set {CMAKE_INSTALL_PREFIX} to "<HDF5-INSTPATH>" set {CMAKE_INSTALL_PREFIX} to "<HDF5-INSTPATH>"
8) build and install 7) build and install
make make
make install make install
Test, Test,
9) set enviroment vars for HDF5 8) set enviroment vars for HDF5
export HDF5_ROOT=<HDF5-INSTPATH> export HDF5_ROOT=<HDF5-INSTPATH>
export PATH=${HDF5_ROOT}/bin/:${PATH} export PATH=${HDF5_ROOT}/bin/:${PATH}
export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${HDF5_ROOT}/lib/:$LD_LIBRARY_PATH
10) set PLUGIN search path (!!) 9) set PLUGIN search path (!!)
export HDF5_PLUGIN_PATH=${HDF5_ROOT}/lib/plugin/ export HDF5_PLUGIN_PATH=${HDF5_ROOT}/lib/plugin/
11) test 1: pack+unpack test data with default settings 10) test 1: pack+unpack test data with default settings
cd hdf5plugin_ZFP cd hdf5plugin_ZFP
h5repack -v -f UD=299,1,0 test/test.h5 test_compr.h5 h5repack -v -f UD=299,1,0 test/test.h5 test_compr.h5
h5repack -v --filter=NONE test_compr.h5 test_uncomp.h5 h5repack -v --filter=NONE test_compr.h5 test_uncomp.h5
12) test 2: pack+unpack test data with user defined settings 11) test 2: pack+unpack test data with user defined settings
!!! ATTENTION !!! !!! ATTENTION !!!
h5repack <= 1.8.14 has a bug in its command line parser. Have you applied the patch, when installing HDF5? h5repack <= 1.8.14 has a bug in its command line parser. Have you applied the patch, when installing HDF5?
h5repack -v -f UD=299,5,0,256,32,-16,512 test/test.h5 test_compr.h5 h5repack -v -f UD=299,5,0,256,32,-16,512 test/test.h5 test_compr.h5
h5repack -v --filter=NONE test_compr.h5 test_uncomp.h5 h5repack -v --filter=NONE test_compr.h5 test_uncomp.h5
More, More,
10) Read HDF5DynamicallyLoadedFilters.pdf for more information on dynamically loaded filters and how to use them in applications. 12) Read HDF5DynamicallyLoadedFilters.pdf for more information on dynamically loaded filters and how to use them in applications.
File deleted
#
# call this script with command 'source'
#
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
export F77=mpif77
export F90=mpif90
./configure \
--enable-fortran \
--enable-build-mode=production \
--enable-shared=no \
--enable-static-exec \
--enable-parallel \
--enable-direct-vfd \
--prefix=/home/jhgoebbert/Software/hdf5/1.10.0_gcc4.4_ompi1.10
#
# call this script with command 'source'
#
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
export F77=mpif77
export F90=mpif90
./configure \
--enable-fortran \
--enable-production \
--enable-shared=no \
--enable-static-exec \
--enable-parallel \
--enable-direct-vfd \
--prefix=/home/jhgoebbert/Software/hdf5/1.8.17_gcc4.4_ompi1.10
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
BASE=`pwd` BASE=`pwd`
export ZFP_ROOT=${BASE}/zfp/zfp-0.3.0 export ZFP_ROOT=${BASE}/zfp/zfp-0.3.0
export HDF5_ROOT=${BASE}/hdf5/hdf5-1.8.14_gcc48_patched export HDF5_ROOT=${BASE}/hdf5/hdf5-1.8.17
export HDF5_DIR=${HDF5_ROOT}/share/cmake
export HDF5_PLUGIN_PATH=${HDF5_ROOT}/lib/plugin export HDF5_PLUGIN_PATH=${HDF5_ROOT}/lib/plugin
......
File added
File added
No preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment