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, Uncrustify
- Code quality clang-query, Cppcheck
BLT is easy to pull into an existing or new CMake-based project using a single CMake include()
command:
include(path/to/blt/SetupBLT.cmake)
For more information, please check our user documentation and tutorial.
Any questions can be sent to [email protected].
Developers include:
- Chris White, LLNL
- Kenneth Weiss, LLNL
- Cyrus Harrison, LLNL
- George Zagaris, LLNL
- Lee Taylor, LLNL
- Aaron Black, LLNL
- David A. Beckingsale, 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.
- 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
- CHAI: Copy-hiding array abstraction to automatically migrate data between memory spaces
- Conduit: Simplified data exchange for HPC simulations
- RAJA: Performance portability layer for HPC
- Umpire: Application-focused API for memory management on NUMA and GPU architectures
- VTK-h: Scientific visualization algorithms for emerging processor architectures
If you would like to add a library to this list, please let us know via email or by submitting an issue or pull-request.
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
LLNL-CODE-725085
OCEC-17-023
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:
SPDX-License-Identifier: (BSD-3-Clause)
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.
PackageName: fruit
PackageHomePage: https://sourceforge.net/projects/fortranxunit/
PackageLicenseDeclared: BSD-3-Clause
PackageName: gbenchmark
PackageHomePage: https://github.com/google/benchmark
PackageLicenseDeclared: Apache-2.0
PackageName: gmock
PackageHomePage: https://github.com/google/googlemock
PackageLicenseDeclared: BSD-3-Clause
PackageName: gtest
PackageHomePage: https://github.com/google/googletest
PackageLicenseDeclared: BSD-3-Clause
PackageName: run-clang-format
PackageHomePage: https://github.com/Sarcasm/run-clang-format
PackageLicenseDeclared: MIT