BLT: Build, Link, and Test¶
BLT is a composition of CMake macros and several widely used open source tools assembled to simplify HPC software development.
BLT was released by Lawrence Livermore National Laboratory (LLNL) under a BSD-style open source license. It is developed on GitHub under LLNL’s GitHub organization.
Note
BLT officially supports CMake 3.8 and above. However we only print a warning if you are below this version. Some features in earlier versions may or may not work. Use at your own risk.
BLT at a Glance¶
Simplifies setting up a CMake-based build system
CMake macros for:
Creating libraries and executables
Managing compiler flags
Managing external dependencies
Handles differences across CMake versions
Multi-platform support (HPC Platforms, OSX, Windows)
Batteries included
Built-in support for HPC Basics: MPI, OpenMP, CUDA, and HIP
Built-in support for unit testing in C/C++ and Fortran
Streamlines development processes
Support for documentation generation
Support for code health tools:
Runtime and static analysis, benchmarking
Questions¶
Any questions can be sent to blt-dev@llnl.gov. If you are an LLNL employee or collaborator, we have an internal Microsoft Teams group chat named “BLT” as well.
Contributions¶
We welcome all kinds of contributions: new features, bug fixes, documentation edits.
To contribute, make a pull request, with develop
as the destination branch. We use CI testing and your branch must pass these tests before
being merged.
For more information, see the contributing guide.