Sirepo: Containerized HPC Engineering in the Cloud

R. Nagler, P. Moeller, D. Bruhwiler, C. Hall, N. Cook
Visit on figshare: slides

Sirepo is a web-application used to design particle accelerators, X-ray beamlines and other physical systems. The supported codes are written in C/C++ and FORTRAN, sometimes with Python wrappers, and rely on MPI for parallel execution. Users to date, including an increasing number of students, typically execute simulations on a single node or a small cluster. We present recent developments of the server side Sirepo, which will enable browser-based execution of these codes on a supercomputer or user-specified cluster. Containerization is the key to ensuring robust execution at all stages of Sirepo development.


  1. Sirepo repo on GitHub
  2. Synchrotron Radiation Workshop (SRW) repo on GitHub
  3. Installer library repo on GitHub
  4. Container library repo on GitHub
  5. Beamsim container repo on GitHub
  6. Jupyter container on GitHub
  7. JupyterHub container repo on GitHub
  8. Using Shifter at NERSC
  9. Double-slit experiment on Wikipedia
  10. Beamline on Wikipedia
  11. RSConf (CM tool) repo on GitHub
  12. RadiaSoft repo on Docker Hub
  13. “Major Release Syndrome: A Case for Chronological Versioning,” web article
  14. Bash Manual
  15. Nginx Documentation
  16. Pyenv repo on GitHub
  17. YUM System Adminstrator’s Guide
  18. PyMesh repo on GitHub
  19. fpm repo on GitHub