Bachelor's Thesis: Porting and optimization of scientific particle simulation code

Fuente: Zenodo
Salvato in:
Dettagli Bibliografici
Autori principali: Perez Casas, Alejandro, Navaridas Palma, Javier, Antonio Pascual, Jose
Natura: Recurso digital
Lingua:inglese
Pubblicazione: Zenodo 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866901878385672192
author Perez Casas, Alejandro
Navaridas Palma, Javier
Antonio Pascual, Jose
author_facet Perez Casas, Alejandro
Navaridas Palma, Javier
Antonio Pascual, Jose
contents <p>Starting from a particle simulation program written in Python, this project had two main objectives: porting that code to a faster language C++, and optimizing the resulting code. The motivation behind these goals stems from the execution time limitation on the ATLAS supercomputer from DIPC (Donostia International Physics Center), which is 7 days. The original code was created and owned by ESS Bilbao, a company which focuses its efforts contributing to the European Spallation Source.</p> <p>The code mainly revolves around the use of a well known free open-source library, FEniCS, which offers a wide range of functionalities, such as solving partial differential equations using the finite element method. Specifically, DOLFIN is used as the interface for the computational back-end of FEniCS, which provides functionality for both Python and C++. Throughout the code, aside from creating the mesh and calculating the RF field density flux functions, DOLFIN is used to determine the force an electron suffers in each step of the execution and to determine if it has collided with the object's inner walls.</p> <p>Thus, the project consisted on the following different stages: firstly, analyze and understand the original code, then port the code to C++ and check for different execution results. Secondly, analyze which optimization techniques could be implemented using OpenMP and MPI for both multithreading and multiprocessing, and apply those techniques where possible. Lastly, profile the application for further optimization and analysis of results.</p>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_15689151
institution Zenodo
language eng
publishDate 2025
publisher Zenodo
record_format zenodo
spellingShingle Bachelor's Thesis: Porting and optimization of scientific particle simulation code
Perez Casas, Alejandro
Navaridas Palma, Javier
Antonio Pascual, Jose
Particle-Simulation
C++
Python
FEniCS
Parallelization
Porting
OpenMP
MPI
Multipactor-Effect
<p>Starting from a particle simulation program written in Python, this project had two main objectives: porting that code to a faster language C++, and optimizing the resulting code. The motivation behind these goals stems from the execution time limitation on the ATLAS supercomputer from DIPC (Donostia International Physics Center), which is 7 days. The original code was created and owned by ESS Bilbao, a company which focuses its efforts contributing to the European Spallation Source.</p> <p>The code mainly revolves around the use of a well known free open-source library, FEniCS, which offers a wide range of functionalities, such as solving partial differential equations using the finite element method. Specifically, DOLFIN is used as the interface for the computational back-end of FEniCS, which provides functionality for both Python and C++. Throughout the code, aside from creating the mesh and calculating the RF field density flux functions, DOLFIN is used to determine the force an electron suffers in each step of the execution and to determine if it has collided with the object's inner walls.</p> <p>Thus, the project consisted on the following different stages: firstly, analyze and understand the original code, then port the code to C++ and check for different execution results. Secondly, analyze which optimization techniques could be implemented using OpenMP and MPI for both multithreading and multiprocessing, and apply those techniques where possible. Lastly, profile the application for further optimization and analysis of results.</p>
title Bachelor's Thesis: Porting and optimization of scientific particle simulation code
topic Particle-Simulation
C++
Python
FEniCS
Parallelization
Porting
OpenMP
MPI
Multipactor-Effect
url https://doi.org/10.5281/zenodo.15689151