Please use this identifier to cite or link to this item:
Title: Beam Longitudinal Dynamics Simulation Code Acceleration with GPUs
Authors: Τυπάλδος, Γεώργιος Αναστάσιος
Σούντρης Δημήτριος
Keywords: Beam Longitudinal Dynamics
High Performance Computing
Parallel Programming
Issue Date: 21-Mar-2023
Abstract: The Beam Longitudinal Dynamics (BLonD) suite is an open-source software package for the simulation of the longitudinal motion of particles in synchrotrons. It has been developed at CERN since 2014 and features a modular structure that allows the user to combine a variety of physics phenomena according to the study requirements. This thesis’s scope is upgrading the BLonD suite by modifying the GPU implementation to host the CuPy Python library rather than the PyCUDA library for GPU acceleration, as it provides a NumPy-like interface and low-level CUDA functionalities. This results in software simplicity, thus a better user experience, and performance enhancements, which achieve significant execution speedup. Various hardware structures and optimization techniques, such as GPU memory hierarchy and thread-coarsening, are tested for additional performance gain. A custom Python roofline model tool is also developed and utilized to assess the efficiency of main kernels. The BLonD-CuPy implementation is evaluated using three NVIDIA GPU models and compared against a multithreaded AMD CPU implementation executed on 16 cores. The CuPy GPU version significantly surpasses the CPU and the previous PyCUDA version’s performance. It achieves up to 80 CPU speedup for intensive configurations and powerful GPU models, versus a respective 75 PyCUDA speedup, while minimizing the required CUDA lines of code from 2600 to 350.
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
GTypaldos_Thesis.pdf2 MBAdobe PDFView/Open

Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.