Vis enkel innførsel

dc.contributor.authorBrodtkorb, Andre
dc.contributor.authorSætra, Martin Lilleeng
dc.date.accessioned2023-03-27T10:27:06Z
dc.date.available2023-03-27T10:27:06Z
dc.date.created2022-11-07T13:45:29Z
dc.date.issued2022
dc.identifier.issn2296-424X
dc.identifier.urihttps://hdl.handle.net/11250/3060538
dc.description.abstractGPUs have become a household name in High Performance Computing (HPC) systems over the last 15 years. However, programming GPUs is still largely a manual and arduous task, which requires expert knowledge of the physics, mathematics, and computer science involved. Even though there have been large advances in automatic parallelization and GPU execution of serial code, it is still difficult to fully utilize the GPU hardware with such approaches. Many core numeric GPU codes are therefore still mostly written using low level C/C++ or Fortran for the host code. Several studies have shown that using higher level languages, such as Python, can make software development faster and with fewer bugs. We have developed a simulator based on PyCUDA and mpi4py in Python for solving the Euler equations on Cartesian grids. Our framework utilizes the GPU, and can automatically run on clusters using MPI as well as on shared-memory systems. Our framework allows the programmer to implement low-level details in CUDA C/C++, which is important to achieve peak performance, whilst still benefiting from the productivity of Python. We show that our framework achieves good weak and strong scaling. Our weak scaling achieves more than 94% efficiency on a shared-memory GPU system and more than 90% efficiency on a distributed-memory GPU system, and our strong scaling is close to perfect on both shared-memory and distributed-memory GPU systems.en_US
dc.language.isoengen_US
dc.publisherFrontiers Mediaen_US
dc.relation.ispartofseriesFrontiers in Physics;
dc.rightsNavngivelse 4.0 Internasjonal*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/deed.no*
dc.titleSimulating the Euler equations on multiple GPUs using Pythonen_US
dc.typePeer revieweden_US
dc.typeJournal articleen_US
dc.description.versionpublishedVersionen_US
cristin.ispublishedtrue
cristin.fulltextoriginal
cristin.qualitycode1
dc.identifier.doihttps://doi.org/10.3389/fphy.2022.985440
dc.identifier.cristin2070024
dc.source.journalFrontiers in Physicsen_US
dc.source.volume10en_US
dc.source.issue10en_US
dc.source.pagenumber1-11en_US
dc.relation.projectNorges forskningsråd: 310515en_US
dc.relation.projectSigma2: nn9882ken_US


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel

Navngivelse 4.0 Internasjonal
Med mindre annet er angitt, så er denne innførselen lisensiert som Navngivelse 4.0 Internasjonal