Logo
  • User’s guide
  • Developer’s guide
    • Definition of new Xtrack-compatible beam elements
    • Multiplatform programming with xobjects
    • Code autogeneration
    • Numerical reproducibility
    • Continuous testing of xsuite
  • Physics guide
  • API reference
Xsuite
  • Developer’s guide
  • Edit on GitHub

Developer’s guide

  • Definition of new Xtrack-compatible beam elements
    • Introduction
    • Definition and management of the data structure
      • Allocation of beam elements on CPU or GPU
      • Python access to beam-element data
      • Underlying xobject
      • Custom __init__ method
    • Definition of the tracking function
      • Accessing beam-element data from C
      • Writing the tracking code
    • Data recording in beam elements
      • Introduction
      • Recording of an individual table
      • Recording of multiple tables
      • Internal record for elements used in standalone mode
    • Lost particles state codes
  • Multiplatform programming with xobjects
    • Data management
      • Definition of a simple data structure class
      • Allocation of a data object on CPU or GPU
      • Access to the data
      • Numpy-like access
    • Kernel functions in C
      • Autogenerated C API
      • Writing a C kernel
      • Compiling the kernel
      • Calling the kernel
      • Inspecting the source code
  • Code autogeneration
    • vectorize_over block
    • only_for_context directive
    • gpukern directive
    • gpuglmem directive
  • Numerical reproducibility
    • Using conda to create a numerically reproducible environment
  • Continuous testing of xsuite
    • Setup of the test runner machine
      • An OpenStack GPU-capable machine
      • Configure the test machine
      • Install the GitHub Actions runner
Previous Next

© Copyright 2021, CERN. Revision 2e74d149.

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