BLT is a streamlined CMake-based foundation for Building, Linking and Testing large-scale high performance computing (HPC) applications.
BLT makes it easy to get up and running on a wide range of HPC compilers, operating systems and technologies:
- Compiler families: gcc, clang, Intel, XL, Visual Studio
- Operating systems: Linux, Mac OS, Windows
- HPC programming models: MPI, OpenMP, CUDA, HIP
- Unit testing and benchmarking (built-in): Google Test (gtest and gmock), FRUIT, gbenchmark
- Documentation: Doxygen, Sphinx
- Code style: AStyle, ClangFormat, cmake-format, Uncrustify, YAPF (Yet Another Python Formatter)
- Code quality clang-query, clang-tidy, Cppcheck
BLT is easy to pull into an existing or new CMake-based project using a single CMake
For more information, please check our user documentation and tutorial.
Any questions can be sent to email@example.com. If you are an LLNL employee or collaborator, we have an internal Microsoft Teams group chat named "BLT" as well.
- Chris White, LLNL
- Kenneth Weiss, LLNL
- David A. Beckingsale, LLNL
- Josh Essman, LLNL
- Cyrus Harrison, LLNL
- George Zagaris, LLNL
- Lee Taylor, LLNL
- Aaron Black, LLNL
- Richard Hornung, LLNL
- Randolph Settgast, LLNL
Please see our contributing guide for details about how to contribute to the project.
The full list of project contributors can be found on the BLT Contributors Page.
Open-Source Projects using BLT
- Adiak: Library for collecting metadata from HPC application runs
- Ascent: A flyweight in-situ visualization and analysis runtime for multi-physics HPC simulations
- Axom: Software infrastructure for the development of multi-physics applications and computational tools
- CARE: CHAI and RAJA extensions
- CHAI: Copy-hiding array abstraction to automatically migrate data between memory spaces
- Conduit: Simplified data exchange for HPC simulations
- Kripke: Simple, scalable, 3D Sn deterministic particle transport code
- RAJA: Performance portability layer for HPC
- SAMRAI: Structured Adaptive Mesh Refinement Application Infrastructure
- Serac: 3D implicit nonlinear thermal-structural simulation code
- Spheral: Steerable parallel environment for performing coupled hydrodynamical & gravitational numerical simulations
- Umpire: Application-focused API for memory management on NUMA and GPU architectures
- VTK-h: Scientific visualization algorithms for emerging processor architectures
BLT is licensed under the BSD 3-Clause license, (BSD-3-Clause or https://opensource.org/licenses/BSD-3-Clause).
Copyrights and patents in the BLT project are retained by contributors. No copyright assignment is required to contribute to BLT.
See LICENSE for details.
Unlimited Open Source - BSD 3-clause Distribution
Individual files contain SPDX tags instead of the full license text. This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/
Files that are licensed as BSD 3-Clause contain the following text in the license header:
BLT bundles its external dependencies in thirdparty_builtin/. These packages are covered by various permissive licenses. A summary listing follows. See the license included with each package for full details.