Repository Structure

Section author: Axel Huebl


  • master: the latest stable release, always tagged with a version
  • dev: the development branch where all features start from and are merged to
  • release-X.Y.Z: release candiate for version X.Y.Z with an upcoming release, receives updates for bug fixes and documentation such as change logs but usually no new features

Directory Structure

  • include/

    • C++ header and source files
    • set -I here
    • prefixed with project name
  • lib/

    • pre-compiled libraries
    • python/
      • modules, e.g. for RT interfaces, pre* & post-processing
      • set PYTHONPATH here
  • etc/

    • (runtime) configuration files
    • picongpu/
      • tbg templates (as long as PIConGPU specific, later on to share/tbg/)
      • network configurations (e.g. infiniband)
      • score-p and vampir-trace filters
  • share/

    • examples, documentation
    • picongpu/
      • completions/: bash completions
      • examples/: each with same structure as /
  • bin/

    • core tools for the “PIConGPU framework”
    • set PATH here
  • docs/

    • currently for the documentation files
    • might move, e.g. to lib/picongpu/docs/ and its build artifacts to share/{doc,man}/,