Performance Modeling of a Finite Volume Method for the Shallow Water Equations

Oppgaven omhandler en proxy-applikasjon for å beregne grunnvannsligningene gjennom den endelige volummetoden. Vannoverflaten er diskretisert gjennom en triangulering, der kystlinjen til Mehamn brukes til alle tester. Applikasjonen bruker MPI for å lage parallelle prosesser og OpenMP for å lage paral...

Full description

Bibliographic Details
Main Author: Manne, Jenny Veronika Ip
Other Authors: Meyer, Jan Christian
Format: Master Thesis
Language:English
Published: NTNU 2022
Subjects:
Online Access:https://hdl.handle.net/11250/3056856
Description
Summary:Oppgaven omhandler en proxy-applikasjon for å beregne grunnvannsligningene gjennom den endelige volummetoden. Vannoverflaten er diskretisert gjennom en triangulering, der kystlinjen til Mehamn brukes til alle tester. Applikasjonen bruker MPI for å lage parallelle prosesser og OpenMP for å lage parallelle tråder for hver prosess, og kjøres på Idun-klyngen ved NTNU. En ytelsesmodell for applikasjonen forutsier parametrene til den trekantede strukturen, som er basert på antall punkter, og bruker de strukturelle estimeringene til å forutsi kjøretid og skaleringskarakteristikk. Modellen skiller mellom beregnings- og kommunikasjonstid, med fokus på skaleringsegenskapene til beregningstiden. De geometriske unntakene blir eliminert ved å holde seg til Mehamn for alle trianguleringene. Roofline- og Hockney-modell er også estimert gjennom et sett med benchmarking-tester for å oppdage maskinvareegenskapene til maksimal FLOP-ytelse og kommunikasjonstid. En sammenligning av ytelsesmodellen og benchmarking-modellene med applikasjonskjøringen brukes for å verifisere ytelsesegenskapene til applikasjonen. Resultatene viser en presis prediksjon av parametrene til den trekantede strukturen, som bekrefter det første trinnet i ytelsesmodellen. Gjennom roofline-modellen bekrefter benchmarking-testene at applikasjonen er minnebundet, hvor maksimal båndbredde brukes videre til ytelsesmodellen. Hockney-modellen bekrefter at kommunikasjonstiden forblir konstant for et økende antall noder og vokser sakte for en økende problemstørrelse, mens kommunikasjonstiden mellom noder blir overvurdert. Resultatene viser også konsistent skalerbarhet av beregningstiden mellom ytelsesmodellen og applikasjonskjøringen, for både sterk og svak skalering, og for skalering av både prosesser og tråder, gitt at problemstørrelsen ikke flyter over cache-minnet. Dette støttes av en jevn lastbalanse mellom prosesseringsenhetene. Det er oppdaget at cache-minnet til maskinvaren påvirket skalerbarheten, der en problemstørrelse for stor til å passe inn i cache-minnet ...