X-Point Gyrokinetic Code (XGC)

Contents

  • General Information
  • How to Become an XGC User
  • Introduction to XGC’s Git Workflow
  • Quickstart
  • XGC-GUI
  • Building XGC
    • Build Instructions
    • How to Build XGC on macOS (Apple Silicon)
    • 3rd Party Software Installations
    • Maintaining shared installations
    • Installation instructions
    • Adding a new source file
    • Adding support for another HPC facility
    • Adding a new configuration option
    • Updating Test Data
  • Running XGC
  • Kernels and Tests
  • Versioning and Updates
  • Continuous Integration
  • XGC API Documentation
  • XGC Preprocessor Macros
  • XGC Inputs
  • Generating Meshes for XGC Simulations
  • File Format of XGC Mesh Files
  • XGC algorithms
  • XGC Outputs
X-Point Gyrokinetic Code (XGC)
  • Building XGC
  • View page source

Building XGC

Please open a Github issue if you encounter any bugs or other problems. Thanks! Before getting started, please make sure you have CMake v3.16 or newer installed.

Contents

  • Build Instructions
    • Environment at HPC facilities
      • Aurora
      • Frontier
      • Greene
      • Perlmutter (GPU)
      • Perlmutter (CPU)
      • Polaris
      • Stellar
    • Build instructions for XGC-S
      • Stellar
      • Perlmutter
  • How to Build XGC on macOS (Apple Silicon)
    • 1) Prerequisites
    • 2) Install required libraries with Homebrew
    • 3) Build Kokkos locally (version 4.4.01)
    • 4) Build PETSc 3.24.4 locally with 64-bit indices
      • 4.1 Get PETSc source tree for v3.24.4
      • 4.2 Configure PETSc
      • 4.3 Build and install PETSc
    • 5) Configure and build XGC (Cabana OFF, Ginkgo OFF)
    • 6) Build XGC
  • 3rd Party Software Installations
  • Maintaining shared installations
  • Installation instructions
    • PETSc
    • ADIOS2
    • FFTW
    • Kokkos
    • Cabana
    • GTest
    • Ginkgo
  • Adding a new source file
  • Adding support for another HPC facility
  • Adding a new configuration option
  • Updating Test Data
    • Generate new test data
      • Make whatever changes are necessary to the testing data.
      • Create a tarball of the new version of the test data
    • Upload new version to data.kitware.com
      • Register an account on data.kitware.com if you don’t already have one.
      • Navigate to your public folder
      • Upload the newly created tarball to your public directory
    • Update the version of the test data used in XGC
      • Get the checksum of this new version
      • Record the new checksum in XGC
      • Commit, push, and make a PR for this change
Previous Next

© Copyright 2021, Seung-Hoe Ku, Robert Hager and the XGC-Team. Last updated on Apr 02, 2026.

Built with Sphinx using a theme provided by Read the Docs.