Näytä suppeat kuvailutiedot

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.rightsIn Copyrighten
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.typemaster thesis
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.type.coarhttp://purl.org/coar/resource_type/c_bdcc
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.rights.urlhttps://rightsstatements.org/page/InC/1.0/
dc.type.okmG2


Aineistoon kuuluvat tiedostot

Thumbnail

Aineisto kuuluu seuraaviin kokoelmiin

Näytä suppeat kuvailutiedot

In Copyright
Ellei muuten mainita, aineiston lisenssi on In Copyright