Concepts and Meta-Programming Library
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
CAMP provides a portable optimized implementation of template meta-programming primitives. All capabilities found within are available in other open source projects, including metal and mpl among others, but no other library we know of supports all compilers required by LLNL codes. CAMP serves as an efficient facility for writing portable compile-time operations in C++ codes. It was developed as part of the RAJA project to facilitate more complex compile-time introspection and better error message delivery to users, but has since proven useful in Umpire, CHAI and other pre-release LLNL software projects and is thus being re-factored to stand alone. The CAMP library uses portable C++ template mechanisms almost exclusively, with the exception of intrinsics provided for performance by some compilers such as clang and gee. There are no private or protected interfaces and no proprietary information included in the source. Any and all future versions will limit themselves to implementing commonly available and well known primitives for compile-time manipulation of types. A new public github repository will be created to host the code independent of its current location in the raja repository, likely at github.com/llnl/camp.
- Site Accession Number:
- LLNL-CODE-756261
- Research Organization:
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)Primary Award/Contract Number:AC52-07NA27344
- DOE Contract Number:
- AC52-07NA27344
- Code ID:
- 18643
- OSTI ID:
- 1471491
- Country of Origin:
- United States
Similar Records
Umpire: Integration with Other Software Technologies
Models, data, and scripts associated with “Prediction of Distributed River Sediment Respiration Rates using Community-Generated Data and Machine Learning”