Bachelor's Thesis: Porting and optimization of scientific particle simulation code
Fuente:
Zenodo
Salvato in:
| Autori principali: | , , |
|---|---|
| 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 |