ExaWind Builder is a collection of bash scripts to configure and compile the codes used within the ExaWind project on various high-performance computing (HPC) systems. The builder provides the following
-
Platform configuration: Provides the minimal set of modules that must be loaded when compiling with different compilers and MPI libraries on different HPC systems.
-
Software configuration: Provides baseline CMake configuration that can be used to configure the various options when building a project, e.g., enable/disable optional modules, automate specification of paths to various libraries, configure release vs. debug builds.
-
Build script generation: Generates an executable end-user script for a combination of system, compiler, and project.
-
Exawind environment generation: Generates a source-able, platform-specific script that allows the user to recreate the exact environment used to build the codes during runtime.
The build scripts are intended for developers who might want to compile the codes with different configuration options, build different branches during their development cycle, or link to a different development version of a library that is currently not available in the standard installation on the system. Please see the documentation for details on how to use this to build ExaWind software.
Pre-configured systems
System | Description |
---|---|
spack |
Spack (system agnostic) |
ornl-summit |
ORNL Summit |
eagle |
NREL Eagle |
cori |
NERSC Cori |
summitdev |
OLCF SummitDev |
snl-waterman . |
Sandia waterman computational cluster |
snl-waterman-atdm |
Sandia waterman cluster with system modules |
snl-ghost |
Sandia Ghost computational cluster |
snl-skybridge |
Sandia Skybridge computational cluster |
snl-ascicgpu |
Sandia ASC GPU development machines |
snl-ceerws |
Sandia blade workstations |
snl-ews |
Sandia engineering workstations |
rhodes |
NREL nightly build and test system |
pnnl-constance |
PNNL Constance system |
peregrine |
NREL Peregrine |
# Download bootstrap script
curl -fsSL -o bootstrap.sh https://raw.githubusercontent.com/sayerhs/exawind-builder/master/bootstrap.sh
# Make it executable
chmod a+x bootstrap.sh
# Execute bootstrap and provide system/compiler combination
./bootstrap.sh -s [SYSTEM] -c [COMPILER]
# Examples
./bootstrap.sh -s spack -c clang # On OS X with homebrew
./bootstrap.sh -s peregrine -c gcc # NREL Peregrine
./bootstrap.sh -s eagle -c gcc # NREL Eagle
./bootstrap.sh -s cori -c intel # NERSC Cori
./bootstrap.sh -s snl-ascicgpu -c gcc # SNL GPU development machine