-
Notifications
You must be signed in to change notification settings - Fork 18
1. Getting Started
Gerd Heber edited this page Nov 3, 2021
·
27 revisions
- Do I need to build Hermes? No. -> Docker containers.
- List the basic dependencies
- CMake & Spack
- We don't repeat ourselves
- See INSTALL.txt
Hermes is an application extension. Storage resources are deployed under Hermes control by
- Configuring Hermes for your system and application
- Making your application "Hermes-aware"
An application can be made aware of Hermes in at three different ways:
- Through Hermes adapters,
LD_PRELOAD
-able shared libraries which intercept common I/O middleware calls such as UNIX STDIO, POSIX, and MPI-IO - Through an HDF5 virtual file driver (VFD)
- By directly targeting the Hermes native API
These options represent different use cases and trade-offs, for example, with respect to expected performance gains and required code change.
- IOR - our sample app.
- Describe target system & Hermes configuration
IOR supports several I/O APIs (-a
option), including POSIX, MPI-IO, and HDF5.
Hermes has adapters for POSIX and MPI-IO, and, with a minor code modification
(we need to add a non-default HDF5 file access property list), we can use the
HDF5 Hermes VFD for sequential IOR runs.