Skip to content

Latest commit

 

History

History
79 lines (49 loc) · 2.26 KB

index.rst

File metadata and controls

79 lines (49 loc) · 2.26 KB

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.

Authors

Thanks to all of BLT's contributors.

User Tutorial <tutorial/index> API Documentation <api/index> Developer Guide <developer/index>