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 and health: Uncrustify, AStyle, Cppcheck, clang-query
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 blt-dev@llnl.gov.
Developers include:
- Chris White (white238@llnl.gov)
- Kenneth Weiss (kweiss@llnl.gov)
- Cyrus Harrison (harrison37@llnl.gov)
- George Zagaris (zagaris2@llnl.gov)
- Lee Taylor (taylor16@llnl.gov)
- Aaron Black (black27@llnl.gov)
- David A. Beckingsale (beckingsale1@llnl.gov)
- Richard Hornung (hornung1@llnl.gov)
- Randolph Settgast (settgast1@llnl.gov)
Please see the BLT Contributors Page for the full list of project contributors.
- 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