dc.contributor.advisor | Elster, Anne C. | |
dc.contributor.author | Valen, Ruben Solvang | |
dc.date.accessioned | 2024-01-24T18:19:42Z | |
dc.date.available | 2024-01-24T18:19:42Z | |
dc.date.issued | 2023 | |
dc.identifier | no.ntnu:inspera:142737689:20645894 | |
dc.identifier.uri | https://hdl.handle.net/11250/3113657 | |
dc.description.abstract | Stensilalgoritmer er en familie av algoritmer som oppdaterer punkter i et flerdi-
mensjonalt datanett med naboverdiene som vekter. De er beregningsintensive og
brukes i mange domener, og utgjør dermed en betydelig del av arbeidsbelastnin-
gen innen høy-ytelses databehandling.
Denne avhandlingen presenterer et verktøy for benchmarking av 2D stensil-
kalkulasjoner på GPUer. Arbeidet bygger på A. Hammer’s arbeid med flerkjernede
3D-stensiler. Vår implementasjon bruker MPI og inkluderer tre forskjellige op-
timaliseringsteknikker: dype haloer, synkroniserte kantutvekslinger og overlap-
pende kommunikasjon og beregning.
Dype haloer grupperer kommunikasjon sammen for å redusere overhead, men
med økt beregning per iterasjon som en avveining. Denne optimaliseringen forbedrer
ytelsen når halo-størrelsen øker, inntil reduksjonen i kommunikasjonstid blir over-
skygget av økningen i beregningstid.
Vi viser at overlappende kommunikasjon og beregning er en svært effektiv
optimalisering som forbedrer ytelsen i nesten alle tilfeller, spesielt for større prob-
lemstørrelser. På de største rutenettene som ble testet, skjulte overlappende kom-
munikasjon og beregning 83% av den parallelle kommunikasjonen.
Synkronisert kantutvekslingsoptimaliseringen fungerer som forventet, enten
med eller uten samspill med de andre optimaliseringene. Den asynkrone versjonen
vår viser evnen til overlapp av kommunikasjon og beregning optimaliseringen til
å redusere effekten av uventede forsinkelser i kommunikasjon mellom noder ved
lave halo-dybder.
Totalt sett gir disse tre parallelle optimaliseringene betydelig ytelsesforbedring
i stensilkalkulasjoner på GPUer med MPI-kommunikasjon. Merk imidlertid at ytelses-
gevinstene som oppnås med disse optimaliseringene avhenger i stor grad av prob-
lemstørrelsen og maskinvarekonfigurasjonen. På den største problemstørrelsen
som ble testet, ga alle tre optimaliseringene i kombinasjon en hastighetsøkning
på 1,09 når man brukte noder med V100 GPUer og 1,17 hastighetsøkning når
man brukte noder med A100 GPUer.
Våre resultater gir innsikt for beslutningstakere når de vurderer implementerin-
gen av disse optimaliseringene i ulike problemområder. Forslag til videre arbeid
med dette benchmark-verktøyet er også inkludert. | |
dc.description.abstract | Stencils are a family of algorithms that update points of a multi-dimensional
data mesh with the neighbouring values as inputs. They are compute-intensive
and used in many domains and thus account for a significant portion of High-
Performance Computing workloads.
This thesis presents a benchmarking tool for 2D stencil computations on GPUs.
Our work builds on A. Hammer´ s work on Multicore 3D stencils. Our implemen-
tation uses MPI, and includes three different optimisation techniques: Deep halos,
Synchronous halo exchanges, and overlapping communication and computation.
Deep halos group communication together to reduce overhead traded off with
increased computation per iteration. This optimisation improves performance as
the halo size increases until the decrease in communication time is eclipsed by the
increase in computation time.
We show that overlapping communication and computation is a highly im-
pactful optimisation that improves performance over our serial version in almost
all cases, particularly for larger problem sizes. On the largest grid sizes tested,
overlapping communication and computation hides 83% of the parallel commu-
nication.
The synchronous halo exchange optimisation works as expected with or with-
out interacting with the other optimisations. Our asynchronous version highlights
the ability to overlap communication and computation optimisation to mitigate
the impact of unexpected inter-node communication slowdowns at low halo depths.
Overall, these three parallel optimisations offer significant performance im-
provement in stencil computations on GPUs with MPI communication.
Note, however, that the performance gains achieved with these optimisations
depend highly on the problem size and hardware configuration. On the largest
problem size tested, all three optimisations in conjunction gave a 1.09 speedup
when using nodes with V100 GPUs and a 1.17 speedup when using nodes with
A100 GPUs.
Our results provide insight for decision-makers when considering the imple-
mentation of these optimisations given different problem domains. Suggestions
for future work on this benchmarking tool is also included. | |
dc.language | eng | |
dc.publisher | NTNU | |
dc.title | Analysing Deep Halos on Modern GPUs | |
dc.type | Master thesis | |