SPADES API

SPADES API: SPADES API documentation
SPADES API
SPADES API documentation

SPADES is an open-source parallel discrete event simulation (PDES) package built on the AMReX library. Targeted at solving discrete event systems in parallel, this software package aims to be performance portable and scalable on heterogeneous computing architectures, e.g., graphic processing units (GPU).

This document is intended for developers who want to understand the C++ code structure and modify the codebase. It assumes that the reader is familiar with the installation, compilation, and execution steps.

How to use this API guide?

The API documentation is automatically generated from specially-formatted comments in the source code using Doxygen. The resulting documentation is parsed with doxysphinx and combined with the Sphinx documentation.

Source code organization

After cloning the SPADES repository, the project directory (spades) contains the following:

  • Source – C++ source files
  • Build – Example build directory with a sample cmake script
  • CMake – Functions, utilities used during CMake configuration phase
  • Docs – Documentation (Sphinx-based and Doxygen)
  • Submodules – Third-party libraries and dependencies
  • Tests – Regression tests and associated infrastructure

Building API documentation locally

To generate this documentation on a local machine, or to rebuild docs during code development, doxygen, graphviz, doxysphinx, and sphinx are required, as well as turning on the SPADES_ENABLE_DOCUMENTATION cmake option.

$ cd Build && cmake -DSPADES_ENABLE_DOCUMENTATION:BOOL=ON .. && cmake --build . -t docs

The resulting documentation is in Docs/spinx/html directory.