Author: Banerjee, A.
Paper Title Page
MOPOTK018 Parallelization of Radia Magnetostatics Code 481
SUSPMF067   use link to see paper's listing under its alternate paper code  
 
  • A. Banerjee
    SBU, Stony Brook, New York, USA
  • J. Chavanne, G. Le Bec
    ESRF, Grenoble, France
  • O.V. Chubar
    BNL, Upton, New York, USA
  • J.P. Edelen, C.C. Hall, B. Nash
    RadiaSoft LLC, Boulder, Colorado, USA
 
  Funding: Work supported by the US DOE BES SBIR grant No. DE-SC0018556.
Radia 3D magnetostatics code has been used for the design of insertion devices for light sources over more than two decades. The code uses the magnetization integral approach that is efficient for solving permanent magnet and hybrid magnet structures. The initial version of the Radia code was sequential, its core written in C++ and interface in the Mathematica language. This paper describes a new Python-interfaced parallel version of Radia and its applications. The parallelization of the code was implemented on C++ level, following a hybrid approach. Semi-analytical calculations of interaction matrix elements and resultant magnetic fields were parallelized using the Message Passing Interface, whereas the parallelization of the "relaxation" procedure (solving for magnetizations in volumes created by subdivision) was executed using a shared memory method based on C++ multithreading. The parallel performance results are encouraging, particularly for magnetic field calculation post relaxation where a ~600 speedup with respect to sequential execution was obtained. The new parallel Radia version facilitates designs of insertion devices and lattice magnets for novel particle accelerators.
 
DOI • reference for this paper ※ https://doi.org/10.18429/JACoW-IPAC2022-MOPOTK018  
About • Received ※ 20 May 2022 — Revised ※ 10 June 2022 — Accepted ※ 17 June 2022 — Issue date ※ 29 June 2022
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)