Difference between revisions of "HDF5"

From CBLFS
Jump to navigationJump to search
(Created page.)
 
 
(9 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
|ftp://hdf.ncsa.uiuc.edu/HDF5/hdf5-1.6.5/src/hdf5-1.6.5.tar.gz
+
|ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-{{HDF5-Version}}.tar.gz
 
|-
 
|-
 
|}
 
|}
  
== Introduction to HDF5 ==
+
----
HDF5 is a general purpose library and file format for storing scientific data.  HDF5 stores two primary objects: datasets and groups. A dataset is a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file.  The internal structure of an HDF5 file is very similar to the filesystem hierarchy.
 
  
<b>Homepage:</b> http://hdf.ncsa.uiuc.edu/HDF5
+
{{Package-Introduction|HDF5 is a general purpose library and file format for storing scientific data.  HDF5 stores two primary objects: datasets and groups. A dataset is a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file.  The internal structure of an HDF5 file is very similar to the filesystem hierarchy.|http://hdfgroup.org/HDF5/}}
  
 
== Dependencies ==
 
== Dependencies ==
  
 
=== Optional ===
 
=== Optional ===
 
+
* [[OpenSSL]]
*[[OpenSSL]]
+
* [[MPICH2]] Required for parallel HDF support.
*[[MPICH]] Required for parallel HDF support.
 
  
 
== Configuration Information ==
 
== Configuration Information ==
Line 35: Line 33:
 
|<i>--enable-parallel:</i> Enable MPI-IO and MPI support.
 
|<i>--enable-parallel:</i> Enable MPI-IO and MPI support.
 
|}
 
|}
 +
 +
=== Parallel Support ===
 +
 +
If building HDF5 with parallel support, you must build [[MPICH2]] with FORTRAN enabled and use the MPI C and FORTRAN compilers to build HDF5.  In this case, set the compilers as follows for both Non-Multilib and Multilib builds.  Obviously you will need to replace the ${BUILD32} as appropriate.
 +
 +
F9X=mpif77 CC="mpicc ${BUILD32}"
 +
 +
You will also need to add the --disable-cxx option in place of --enable-cxx when executing the configure script.
  
 
== Non-Multilib ==
 
== Non-Multilib ==
  
 
Compile the package:
 
Compile the package:
  F9X=gfortran ./configure --prefix=/usr --sysconfdir=/etc --enable-fortran --enable-cxx &&
+
 
 +
  F9X=gfortran ./configure --prefix=/usr --sysconfdir=/etc \
 +
--enable-fortran --enable-cxx &&
 
  make
 
  make
  
Line 52: Line 60:
 
=== 32Bit ===
 
=== 32Bit ===
  
  To do ...
+
Compile the package:
 +
 
 +
CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" F9X=gfortran \
 +
  ./configure --prefix=/usr --sysconfdir=/etc --enable-fortran --enable-cxx &&
 +
make
 +
 
 +
Install the package:
 +
 
 +
make install
  
 
=== N32 ===
 
=== N32 ===
  
  To do ...
+
Compile the package:
 +
 
 +
CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" F9X=gfortran \
 +
  ./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc --enable-fortran --enable-cxx &&
 +
make
 +
 
 +
Install the package:
 +
 
 +
make install
  
 
=== 64Bit ===
 
=== 64Bit ===
  
  To do ...
+
Compile the package:
 +
 
 +
CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" F9X=gfortran \
 +
  ./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-fortran --enable-cxx &&
 +
make
 +
 
 +
Install the package:
 +
 
 +
make install
 +
 
 +
Install the documentation:
  
== Configuring ==
+
make install-doc
  
 
== Contents ==
 
== Contents ==
  
{| style="text-align: left;"
+
{|style="text-align: left"
 
|-valign="top"
 
|-valign="top"
 
!Installed Directories:
 
!Installed Directories:
|/usr/doc/hdf5
+
|/usr/share/doc/hdf5, /usr/share/doc/hdf5/examples, /usr/share/doc/hdf5/examples/fortran, /usr/share/doc/hdf5/examples/c++, /usr/share/doc/hdf5/examples/c
 
|-valign="top"
 
|-valign="top"
 
!Installed Programs:
 
!Installed Programs:
|h5c++, h5cc, h5fc, h5debug, h5diff, h5dump, h5import, h5jam, h5ls, h5repack, h5unjam
+
|h5dump, h5diff, h5ls, h5cc, h5debug, h5redeploy, h5repart, gif2h5, h52gif, h5import, h5repack, h5jam, h5unjam, h5fc, h5c++, h5perf
 
|-valign="top"
 
|-valign="top"
 
!Installed Libraries:
 
!Installed Libraries:
|libhdf5.{a,so}, libhdf5_cpp.{a,so}, libhdf5_fortran.{a,so}, libhdf5_hl.{a,so},  
+
|libhdf5.so, libhdf5.la, libhdf5.a, libhdf5_hl.so, libhdf5_hl.la, libhdf5_hl.a, libhdf5_fortran.la, libhdf5_fortran.a, libhdf5_cpp.la, libhdf5_cpp.a, libhdf5_cpp.la, libhdf5_cpp.a
 +
|-valign="top"
 +
!Symlinks:
 +
|None
 
|}
 
|}
  
Line 118: Line 155:
 
|Extracts user block from 'h5_file' into 'user_block_file' and HDF5 file into 'h5_file_out'.
 
|Extracts user block from 'h5_file' into 'user_block_file' and HDF5 file into 'h5_file_out'.
 
|}
 
|}
 +
 +
[[Category:Science_Engineering]]

Latest revision as of 08:54, 24 December 2009

Download Source: ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-1.8.2.tar.gz

Introduction to HDF5

HDF5 is a general purpose library and file format for storing scientific data. HDF5 stores two primary objects: datasets and groups. A dataset is a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. The internal structure of an HDF5 file is very similar to the filesystem hierarchy.

Project Homepage: http://hdfgroup.org/HDF5/

Dependencies

Optional

Configuration Information

The following options may be passed to the configure script:

F9X=gfortran: Specifies the FORTRAN compiler to interface with.
--enable-fortran: Compile the FORTRAN interface.
--enable-cxx: Compile the C++ interface.
--enable-linux-lfs: Enable support for large (64-bit) files on Linux.
--with-ssl=<LIB>: Use the SSL library.
--enable-parallel: Enable MPI-IO and MPI support.

Parallel Support

If building HDF5 with parallel support, you must build MPICH2 with FORTRAN enabled and use the MPI C and FORTRAN compilers to build HDF5. In this case, set the compilers as follows for both Non-Multilib and Multilib builds. Obviously you will need to replace the ${BUILD32} as appropriate.

F9X=mpif77 CC="mpicc ${BUILD32}"

You will also need to add the --disable-cxx option in place of --enable-cxx when executing the configure script.

Non-Multilib

Compile the package:

F9X=gfortran ./configure --prefix=/usr --sysconfdir=/etc \
--enable-fortran --enable-cxx &&
make

Install the package:

make install

Install the documentation:

make install-doc

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" F9X=gfortran \
./configure --prefix=/usr --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" F9X=gfortran \
./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" F9X=gfortran \
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

Install the documentation:

make install-doc

Contents

Installed Directories: /usr/share/doc/hdf5, /usr/share/doc/hdf5/examples, /usr/share/doc/hdf5/examples/fortran, /usr/share/doc/hdf5/examples/c++, /usr/share/doc/hdf5/examples/c
Installed Programs: h5dump, h5diff, h5ls, h5cc, h5debug, h5redeploy, h5repart, gif2h5, h52gif, h5import, h5repack, h5jam, h5unjam, h5fc, h5c++, h5perf
Installed Libraries: libhdf5.so, libhdf5.la, libhdf5.a, libhdf5_hl.so, libhdf5_hl.la, libhdf5_hl.a, libhdf5_fortran.la, libhdf5_fortran.a, libhdf5_cpp.la, libhdf5_cpp.a, libhdf5_cpp.la, libhdf5_cpp.a
Symlinks: None

Short Descriptions

/usr/doc/hdf5: Directory containing example programs for using HDF5 files with c, c++, and/or FORTRAN as well as the documentation.
h5c++: Script to assist in interfacing HDF5 to c++.
h5cc: Script to assist in interfacing HDF5 to c.
h5fc: Script to assist in interfacing HDF5 to FORTRAN.
h5debug: Program to assist in debugging HDF5 file.
h5diff: Similar to the diff program except for HDF5 files.
h5dump: Dumps information from an HDF5 file to stdout.
h5import: Converts data stored in one or more ASCII or binary files into one or more datasets in an existing or new HDF5 file.
h5jam: Add 'user_block_file' to front of 'h5_file'.
h5ls: Displays contents of HDF5 file similar to ls command.
h5repack: Compresses HDF5 file using gzip or szip.
h5unjam: Extracts user block from 'h5_file' into 'user_block_file' and HDF5 file into 'h5_file_out'.