90 likes | 100 Vues
Synergia is a powerful software for large-scale accelerator simulations. This article discusses its use on the grid, utilizing parallel computing and various analysis tools. Python, C++, Fortran, and Octave are employed for job control, field solver, beam studies, and more. Simulating multi-particle physics in accelerators is computationally intensive, requiring clusters and supercomputers. The Synergia infrastructure increases productivity, reduces redundant simulation runs, and allows for better resource utilization.
E N D
turn 16 turn 1 turn 19 turn 27 Large-scale accelerator simulations: Synergia on the Grid simulations Synergia Python results wrapper/job control Octave, C++ Fortran 90 C++ software analysis tools Field solver (FFT, multigrid) input & lattice (MAD) C++ beam studies glue C++ single particle optics/utilities data
Synergia • Simulate multi-particle physics in accelerators • Computationally intensive • 1-10's of millions of macro particles • 10's of thousands (or more) of PDE solves • Massively parallel • Clusters and supercomputers • 64-node Linux cluster typical • 512 processors at NERSC Synergia Python results wrapper/job control Octave, C++ Fortran 90 C++ analysis tools Field solver (FFT, multigrid) input & lattice (MAD) C++ beam studies glue C++ single particle optics/utilities
Running Synergia • Few-person collaboration • Simulations require complex input parameters • Output consists of many files • Need to take advantage of computing resources wherever they are available Grid computing is the answer for (4), but the increase in complexity arising from (2) and (3) has to be mitigated. The tools provided by Synergia allow the scientist to do science without getting bogged down by bookkeeping.
In our case, the computationally intensive tasks are running the simulations and some analysis Computing on the Grid • Scientist uses local resources for most tasks • Remote systems used for computationally-intensive tasks only import results job creation job DB analysis tools job export import results
Job creation • Python-based system • Python not required on target site • Job contains • Batch input • created from template • Input files • user-defined • Utilities • clean output, pack output • Description • human and machine readable Job directory batch file input files utility scripts description Goal is reproducibility
Automatic command-line help generation Automatic human-readable summary Options for created jobs can be added to database Managing job options • Python module for command-line options • Groups of options can be composed • General Synergia options • Batch options • Application-specific options • etc. • Command-line is stored for cut-and-paste modification
Job database Job information is automatically entered in spreadsheet.
Results • The measure of a scientific computing project is the science it produces • The Synergia infrastructure has allowed us to produce more science with less time wasted on tedious tasks • Better utilization of resources • Less time spent bookkeeping • Fewer redundant simulation runs
Fermilab Booster Accelerator The measure of a scientific computing project is the science it produces