An open API service indexing awesome lists of open source software.

https://github.com/sandialabs/adct-cxx

Application Data Collection Toolkit for C++
https://github.com/sandialabs/adct-cxx

scr-3171 snl-comp-science-libs snl-data-analysis snl-os-sys-software snl-performance-workflow

Last synced: 4 months ago
JSON representation

Application Data Collection Toolkit for C++

Awesome Lists containing this project

README

          

# adct-cxx
Application Data Collection Toolkit for C++

- This is a library-only ADC c++ implementation for https://github.com/sandialabs/adct .
- It depends at build time on boost::json headers, but exposes to the
application code only c++17 standard dependencies.
- A single factory class provides interface-only objects.
- Documentation is generated during the build and installed (also available at: https://sandialabs.github.io/adct-cxx/).

- The blt source from https://github.com/LLNL/blt.git is required to build
- check that https\_proxy is set as needed to reach github, if needed.
- see INSTALL.md for a quick install procedure.

This libadc-cxx does or will soon:
- optionally depend on an MPI-capable compiler and MPI library.
- optionally depend on adiak from LLNL.
- optionally depend on libldms from ldms 4.5.1 or later.
- optionally depend on libcurl.

Development of comprehensive tutorial examples and feature tests is on-going.
- The current HPC example is examples/mpiSimpleDemo.cpp
- The primary coverage test is examples/demoBuilder.cpp.
- The current multi_publisher, parallel example is examples/adcHelloWorldMPI.cpp

Example build instructions are provided in scripts build.*:

- MPI
./build.cmake
- No MPI
./build.nompi.cmake
- LDMS / Adiak co-development
./build.cmake.third

The build.\* scripts depend on site specific input parameters (see local-install-list)
that need changing at new sites or for new users.
The build.\* scripts depend on lmod module commands to select compiler tools; these
must be replaced with site-specific alternatives or site-specific \*PATH and
INCLUDE variables.

Code-based documentation is built with doxygen as part of a normal install.
It lands in $prefix/share/doc/adc/adc\_cxx/html/index.html