dc.contributor.advisor | Pölönen, Ilkka | |
dc.contributor.advisor | Laitinen, Mikko | |
dc.contributor.author | Pitkänen, Tuomas | |
dc.date.accessioned | 2022-06-21T11:28:13Z | |
dc.date.available | 2022-06-21T11:28:13Z | |
dc.date.issued | 2022 | |
dc.identifier.uri | https://jyx.jyu.fi/handle/123456789/81935 | |
dc.description.abstract | 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. | fi |
dc.description.abstract | This thesis compares the original MCERD simulation program made in C to new version of it made in Python for the thesis. MCERD simulates Elastic Recoil Detector (ERD) and Rutherford Backscattering (RBS) measurements using the Monte Carlo method. There are three new versions: one made in pure Python and two accelerated with Numba for single-threaded and multi-threaded usage. The viability of a GPU version for Nvidia's CUDA platform using Numba is also considered. It was observed that Numba almost matched the performance of C when single-threaded, and exceeded it when multi-threaded, albeit not scaling linearly. It was also observed that the pure Python version is very slow, and that the GPU version would be difficult to implement. | en |
dc.format.extent | 89 | |
dc.format.mimetype | application/pdf | |
dc.language.iso | fi | |
dc.subject.other | MCERD | |
dc.subject.other | rinnakkaislaskenta | |
dc.subject.other | ERD | |
dc.subject.other | ERDA | |
dc.subject.other | elastic recoil detection | |
dc.title | Monte Carlo -hiukkassimulaation toteuttaminen ja kiihdyttäminen Pythonin Numba-kirjastolla | |
dc.identifier.urn | URN:NBN:fi:jyu-202206213542 | |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.ontasot | Master’s thesis | en |
dc.contributor.tiedekunta | Informaatioteknologian tiedekunta | fi |
dc.contributor.tiedekunta | Faculty of Information Technology | en |
dc.contributor.laitos | Informaatioteknologia | fi |
dc.contributor.laitos | Information Technology | en |
dc.contributor.yliopisto | Jyväskylän yliopisto | fi |
dc.contributor.yliopisto | University of Jyväskylä | en |
dc.contributor.oppiaine | Tietotekniikka | fi |
dc.contributor.oppiaine | Mathematical Information Technology | en |
dc.rights.copyright | Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty. | fi |
dc.rights.copyright | This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited. | en |
dc.type.publication | masterThesis | |
dc.contributor.oppiainekoodi | 602 | |
dc.subject.yso | Python | |
dc.subject.yso | ohjelmointikielet | |
dc.subject.yso | Monte Carlo -menetelmät | |
dc.subject.yso | ohjelmointi | |
dc.subject.yso | simulointi | |
dc.subject.yso | tietotekniikka | |
dc.subject.yso | tietokoneohjelmat | |
dc.format.content | fulltext | |
dc.type.okm | G2 | |