Installation¶
Most users should start with the Superbuild.
Recommended default
For most CPU systems, use the Superbuild installation. If the Superbuild completes successfully, no further manual dependency installation is required. The Superbuild downloads, configures, builds, and installs the required dependencies in the correct order.
Installation Decision Tree¶
| Your system | Recommended path |
|---|---|
| CPU workstation or laptop | Quick Installation |
| CPU cluster | Try CPU Superbuild first, then use site MPI/compiler settings if needed. |
| NVIDIA GPU system | Read GPU Installation, then follow Linux NVIDIA GPU. |
| AMD GPU system | Read GPU Installation, then follow Linux AMD GPU. |
| Frontier or Tuolumne | Use the platform-specific guide: Frontier or Tuolumne. |
| Superbuild fails | Use Troubleshooting Superbuild Failures, then Manual Dependency Installation if needed. |
Recommended Installation Hierarchy¶
- Quick Installation for the fastest CPU install.
- CPU Installation via Superbuild for the recommended default workflow and options.
- Troubleshooting Superbuild Failures if the default build does not complete.
- Manual Dependency Installation only when the Superbuild cannot be used or when a site requires explicit dependency builds.
- GPU Installation for CUDA/HIP overview and backend selection.
- Platform-specific guides for macOS, Linux CPU, NVIDIA, AMD, Frontier, Tuolumne, and generic HPC.
- Verification and Testing to confirm the install works.
What The Superbuild Does¶
The Superbuild is the top-level CMake workflow:
export EXASIM_PREFIX=/path/to/prefix
cmake -S Exasim -B Exasim-build -DCMAKE_INSTALL_PREFIX=$EXASIM_PREFIX
cmake --build Exasim-build -j8
cmake --install Exasim-build
It is preferred because it builds the Exasim stack in the correct order and keeps users from manually managing dependency paths.
Depending on enabled options and what is already available on the system, the Superbuild handles:
| Component | Purpose |
|---|---|
| Kokkos | CPU/GPU portability layer. |
| GKlib, METIS, ParMETIS | Graph partitioning and MPI domain decomposition. |
| SymEngine | Symbolic expression backend for Text2Code. |
| Text2Code | Generates PDE kernels and input data from pdeapp.txt/pdemodel.txt. |
| Exasim libraries | Solver, preprocessing, postprocessing, and model libraries. |
| Runtime data | Installed master/gauss node tables and package metadata. |
| Frontends | MATLAB/Python/Julia setup when frontend installation is enabled. |
Platform Guides¶
| Platform | Page |
|---|---|
| macOS CPU | macOS |
| Linux CPU | Linux CPU |
| Linux NVIDIA GPU | Linux NVIDIA GPU |
| Linux AMD GPU | Linux AMD GPU |
| Shared HPC reference | HPC build chain and options |
| Frontier | Frontier |
| Tuolumne | Tuolumne |
| Other clusters | Generic HPC |
Repository Folder Name¶
The cloned folder should be named Exasim, and the source/build paths should
not contain whitespace. Kokkos and downstream build scripts are sensitive to
paths with spaces.
After Installation¶
Continue with: