Show simple item record

dc.contributor.advisorPölönen, Ilkka
dc.contributor.advisorLaitinen, Mikko
dc.contributor.authorPitkänen, Tuomas
dc.date.accessioned2022-06-21T11:28:13Z
dc.date.available2022-06-21T11:28:13Z
dc.date.issued2022
dc.identifier.urihttps://jyx.jyu.fi/handle/123456789/81935
dc.description.abstractTutkielmassa 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.abstractThis 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.extent89
dc.format.mimetypeapplication/pdf
dc.language.isofi
dc.subject.otherMCERD
dc.subject.otherrinnakkaislaskenta
dc.subject.otherERD
dc.subject.otherERDA
dc.subject.otherelastic recoil detection
dc.titleMonte Carlo -hiukkassimulaation toteuttaminen ja kiihdyttäminen Pythonin Numba-kirjastolla
dc.identifier.urnURN:NBN:fi:jyu-202206213542
dc.type.ontasotPro gradu -tutkielmafi
dc.type.ontasotMaster’s thesisen
dc.contributor.tiedekuntaInformaatioteknologian tiedekuntafi
dc.contributor.tiedekuntaFaculty of Information Technologyen
dc.contributor.laitosInformaatioteknologiafi
dc.contributor.laitosInformation Technologyen
dc.contributor.yliopistoJyväskylän yliopistofi
dc.contributor.yliopistoUniversity of Jyväskyläen
dc.contributor.oppiaineTietotekniikkafi
dc.contributor.oppiaineMathematical Information Technologyen
dc.rights.copyrightJulkaisu 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.copyrightThis publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.en
dc.type.publicationmasterThesis
dc.contributor.oppiainekoodi602
dc.subject.ysoPython
dc.subject.ysoohjelmointikielet
dc.subject.ysoMonte Carlo -menetelmät
dc.subject.ysoohjelmointi
dc.subject.ysosimulointi
dc.subject.ysotietotekniikka
dc.subject.ysotietokoneohjelmat
dc.format.contentfulltext
dc.type.okmG2


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record