Lee, John AldoRiviere, EtienneSouris, KevinFroment, FrançoisFrançoisFroment2025-02-042025-02-042021https://dial-mem.test.bib.ucl.ac.be/handle/123456789/26383Cancer is a generic term for a large group of diseases and is a leading cause of death worldwide. Radiation therapy, which delivers a high dose of radiation to destroy cancerous cells, is an important component of multiple possible cancer treatments. Thanks to the depth-dose characteristics of protons, Proton Beam Therapy can be used for targeted cancer cells located deep in the body while limiting the toxicity to healthy tissues compared to conventional radiotherapy treatment. The range of proton beams in patients needs to be predicted as accurately as possible in the treatment planning and delivery process. To this end, Monte Carlo (MC) algorithms, which are based on microscopic simulations of proton interactions as they traverse a numerical representation of the patient anatomy, have been developed by researchers. A Monte Carlo simulation is better than an analytical method for its accuracy, but that comes at the cost of high computation time, which prevents its use in real time. The aim of this work is to reduce the processing time of a Monte Carlo proton simulator (MCsquare), designed to run in a high performance computing environment. MCsquare has been originally designed to run on CPU with high core count. In a first part of our work, we found out if there were any issues with the work sharing. We observed that as the number of cores augmented so did the performance as expected, but this is not sufficient to be used in real time. Under tested CPU, no major work sharing problems were found, so execution time improvement from code rewrite is not to be expected. In an attempt to improve the performance of MCsquare we tested GPU acceleration under the Intel oneAPI toolkit. OneAPI allows for some portion of MCsquare to be executed onto a GPU instead of the CPU, and thus take advantage of the higher numbers of computing units a GPU offers compared to a traditional CPU. Our findings are that while in theory, the Intel implementation of oneAPI offered an easy integration with MCsquare, in practice it proved challenging. Modified versions of MCsquare with parts of the code executing on GPU performed worse than pure CPU code, the shortcomings mainly came from the added overhead oneAPI creates when executing portions of code on GPU. From our experimentation, we can conclude that in the current state of Intel oneAPI and the hardware it supports, it is best to use only CPU computing for MCsquare. But as Intel continues oneAPI development, overhead costs will likely go down and hardware support will likely be expanded, meaning that our conclusion might not hold.Cancer treatementCECICISMGPUMonte CarloMultithreadoneAPIopenMPProton therapyCPUHigh performance computing for simulation of proton therapy treatmentstext::thesis::master thesisthesis:33147