Documentation Index
Fetch the complete documentation index at: https://mintlify.com/DedalusProject/dedalus_conda/llms.txt
Use this file to discover all available pages before exploring further.
Overview
HDF5 is the file format used by Dedalus for simulation output. The build scripts support both serial and parallel HDF5, with options to install from conda-forge or link to custom system libraries.Configuration Options
INSTALL_HDF5
Controls whether to install HDF5 from conda-forge.Valid values:
1- Install HDF5 from conda-forge (default)0- Use custom HDF5 installation (requires HDF5_DIR)
HDF5_DIR
Path to your custom HDF5 installation prefix.Must be set when
INSTALL_HDF5=0. The build will link against HDF5 libraries in this location.HDF5_MPI
Indicates whether custom HDF5 was built with parallel (MPI) support.Valid values:
"ON"- Custom HDF5 has parallel support"OFF"- Custom HDF5 is serial only (default)
INSTALL_HDF5=0.Parallel vs Serial HDF5
- Parallel HDF5
- Serial HDF5
Parallel HDF5 enables multiple MPI processes to write to the same HDF5 file simultaneously, improving I/O performance for large-scale simulations.From the build script:From the build script:
From conda-forge
conda_install_dedalus3.sh
Custom parallel HDF5
conda_install_dedalus3.sh
When using custom parallel HDF5, h5py is built from source with
CC=mpicc to enable parallel support.Installation Decision Tree
The HDF5 variant installed depends on your MPI configuration:Validation
The build script validates HDF5 configuration:conda_install_dedalus3.sh
Building Custom HDF5
If you need to build HDF5 yourself:Parallel HDF5
Serial HDF5
Platform Considerations
Workstations and Laptops
For local development, conda-forge HDF5 is recommended:HPC Clusters
On HPC systems, use optimized system libraries:Testing Serial vs Parallel
To test which HDF5 variant you have:Common Patterns
Important Notes
From the build script comments:Conda-forge’s HDF5 parallel support is tied to conda-forge MPI. If you use a custom MPI (
INSTALL_MPI=0), conda will install serial HDF5.Performance Considerations
Parallel I/O Benefits
- Multiple MPI processes write to single file
- Better for post-processing and analysis
- Required for certain collective operations
- Reduced file count on parallel filesystems
Serial I/O Characteristics
- Each MPI process writes separate files
- Simpler configuration
- May be faster on some filesystems
- Requires merging files for analysis
Related Configuration
- MPI Configuration - HDF5 parallel support requires MPI
- FFTW Configuration - Another key scientific library