Return to search

Evaluating Direct3D 12 GPU Resource Synchronization on Performance and Cache Operations

Background. Lower-level graphics programming interfaces such as Direct3D 12 re-quire synchronization and data hazards between dependent workloads to be resolvedmanually. A barrier is a primitive used to resolve synchronization and data hazardsin a manner to achieve correct behavior by allowing developers to define waits be-tween workloads. However, due to its coarse-grained interface, workloads may beredundantly blocked, and data hazards resolved conservatively leading to excessiveGPU cache flushes even with correct usage. Objectives. To evaluate if the novel and more fine-grained enhanced barriers APIin Direct3D 12 can provide any improvements over Direct3D 12 resource (legacy)barriers in AMD FidelityFX applications using Direct3D 12. Methods. An experiment as a research method was carried out to investigate theeffects of enhanced barriers in existing Direct3D 12 applications. Frame time and thenumber of GPU cache flushes and invalidations occurring per frame were the primarymetrics measured. This was carried out by replacing legacy barriers with enhancedbarriers in three of AMD’s open-source, state-of-the-art image quality toolkits; Fideli-tyFX Super Resolution (FSR), FidelityFX Super Resolution 2 (FSR2), and Stochas-tic Screen Space Reflections (SSSR). Results. The use of enhanced barriers in FSR, FSR2, and SSSR showed that nosignificant differences were found in terms of frame time and the number of cacheflushes and invalidations occurring within a frame when compared to using resourcebarriers. Configurations of enhanced barriers that may reduce pipeline stall times re-main theoretical and could not be verified due to minuscule differences. These includecompute-only workload synchronization and non-blocking barrier layout transitions. Conclusions. Replacing legacy barriers with enhanced barriers in FSR, FSR2, andSSSR proved to be feasible, but lacks performance benefits for it to be desirable.However, the use of barriers can vary depending on the application, therefore, differ-ent results can arise given other synchronization scenarios. For existing Direct3D 12applications using resource barriers, it may be advisable to not upgrade to enhancedbarriers. / Bakgrund. Grafikprogrammeringsgränssnitt på lägre nivå, som till exempel Di-rect3D 12, kräver att synkronisering och datahinder mellan beroende arbetsbelast-ningar löses manuellt. En barriär är en primitiv som används för att lösa synkroniser-ing och datahinder som tillåter korrekt beteende genom att låta utvecklare definieraväntetider mellan arbeten. Men på grund av sitt högnivå-gränssnitt kan arbetsbelast-ningar onödigt blockeras och datahinder löses konservativt med överdrivet mycketGPU-cache-flushningar även vid korrekt användning. Syfte. För att utvärdera om det nya och mer detaljerade enhanced barriers API iDirect3D 12 kan ge några förbättringar jämfört med Direct3D 12 Resource (Legacy)Barriers i AMD FidelityFX-applikationer som använder Direct3D 12. Metod. Ett experiment som en forskningsmetod genomfördes för att undersöka ef-fekterna av enhanced barriers i befintliga Direct3D 12-applikationer. Bildtid och an-talet GPU-cache-flushar och ogiltigförklaringar som inträffar per bild var de primäramätvärdena. Detta genomfördes genom att ersätta legacy barriers med enhanced bar-riers i tre av AMD:s öppen källkodsbaserade verktyg för bildkvalitet; FidelityFX Su-per Resolution (FSR), FidelityFX Super Resolution 2 (FSR2) och Stochastic ScreenSpace Reflections (SSSR). Resultat. Användningen av enhanced barriers i FSR, FSR2 och SSSR visade attinga betydande skillnader kunde hittas när det gäller bildtid och antalet cache-flusharoch ogiltigförklaringar som inträffar inom en bild jämfört med användning av resourcebarriers. Konfigurationer av enhanced barrier som kan minska pipeline-stopp tiderförblir teoretiska och kunde inte verifieras på grund av minimala skillnader. Dessainkluderar synkronisering av endast compute-shader arbete och icke-blockerandeövergångar av barriär-layout. Slutsatser. Att ersätta legacy barriers med enhanced barriers i FSR, FSR2 ochSSSR visade sig vara genomförbart, men saknar prestandafördelar för att vara ön-skvärt. Dock kan användningen av barriärer variera beroende på applikationen, ochdärför kan olika resultat uppstå med olika synkroniseringsscenarier. För befintligaDirect3D 12-applikationer som använder resursbarriärer kan det vara lämpligt attinte uppgradera till förbättrade barriärer.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-24680
Date January 2023
CreatorsGinola, Nadhif
PublisherBlekinge Tekniska Högskola, Fakulteten för datavetenskaper
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.002 seconds