Monte Carlo -hiukkassimulaation toteuttaminen ja kiihdyttäminen Pythonin Numba-kirjastolla - Pitkänen, Tuomas (2022)
Tutkielmassa vertaillaan alkuperäisen C-kielisen MCERD-simulaatiosovelluksen ja siitä tutkielmaa varten kehitettyjen Python-kielisten versioiden suorituskykyä. MCERD simuloi Elastic Recoil Detector (ERD) ja Rutherford Backscattering (RBS) -mittauksia Monte Carlo -menetelmällä. Uusia toteutuksia on kolme: puhtaalla Pythonilla tehty ohjelma sekä tästä Numballa kiihdytetyt, yksi- ja monisäikeiset versiot. Lisäksi tarkastellaan Nvidian CUDA-näytönohjainalustaa hyödyntävän Numba-version toteutettavuutta. Havaittiin, että Numballa saavutettiin lähes C:n tasoinen suorituskyky yhdellä säikeellä, ja monella säikeellä ylitettiin alkuperäinen, joskaan ei lineaarisesti skaalautuen. Havaittiin myös, että pelkkää Pythonia käyttävä versio on hyvin hidas ja näytönohjainversion toteuttaminen olisi vaikeaa.