aprokop / exawind-builder

Scripts to help building Exawind codes on various systems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ExaWind Code Builder

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
rhodes NREL nightly build and test system
pnnl-constance PNNL Constance system
peregrine NREL Peregrine

Quick installation

# 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

Links

About

Scripts to help building Exawind codes on various systems

License:Apache License 2.0


Languages

Language:Shell 99.4%Language:Ruby 0.6%