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
FFTW (Fastest Fourier Transform in the West) is a critical dependency for Dedalus spectral methods. The build scripts allow you to install FFTW from conda-forge or link to a custom FFTW installation.Configuration Options
INSTALL_FFTW
Controls whether to install FFTW from conda-forge.Valid values:
1- Install FFTW from conda-forge (default)0- Use custom FFTW installation (requires FFTW_PATH)
FFTW_PATH
Path to your custom FFTW installation prefix.Must be set when
INSTALL_FFTW=0. The build will link against FFTW libraries in this location.FFTW_STATIC
Controls whether to statically link FFTW.Automatically set based on BLAS choice:
0- Dynamic linking (whenBLAS="openblas")1- Static linking (whenBLAS="mkl")
Installation Modes
- FFTW from conda
- Custom FFTW
The default configuration installs FFTW from conda-forge, specifically the OpenMPI variant.From the build script:The
conda_install_dedalus3.sh
--no-deps flag prevents conda from pulling OpenMPI as a dependency, allowing the script to manage MPI separately.FFTW Linking Behavior
TheFFTW_STATIC variable is automatically set based on your BLAS configuration:
With OpenBLAS (Dynamic Linking)
conda_install_dedalus3.sh
With MKL (Static Linking)
conda_install_dedalus3.sh
Static linking is used with MKL to avoid symbol conflicts between FFTW and MKL libraries.
Validation
The build script validates FFTW configuration:conda_install_dedalus3.sh
MPI Compatibility
Important compatibility note from the build script:The conda-forge FFTW package is built against OpenMPI. If you use a custom MPI implementation that is not OpenMPI-compatible, you should also use a custom FFTW build.
Platform Considerations
Standard Conda Build
For most users, the conda-forge FFTW works well:HPC Clusters
On HPC systems, you may need to use optimized system libraries:Building Custom FFTW
If you need to build FFTW yourself (e.g., for a non-OpenMPI MPI):Common Patterns
Related Configuration
- MPI Configuration - FFTW compatibility depends on MPI choice
- BLAS Options - BLAS choice affects FFTW linking
- HDF5 Configuration - Another key scientific library