dc.contributor.advisor | Říha, Lubomír | |
dc.contributor.author | Velička, Daniel | |
dc.date.accessioned | 2025-06-23T11:50:25Z | |
dc.date.available | 2025-06-23T11:50:25Z | |
dc.date.issued | 2025 | |
dc.identifier.other | OSD002 | |
dc.identifier.uri | http://hdl.handle.net/10084/157076 | |
dc.description.abstract | High energy consumption is a major obstacle in building exascale supercomputers, where performance largely depends on accelerators -specialized hardware far more efficient than general-purpose processors (CPU). The surge of artificial intelligence has significantly increased the energy demands of these supercomputers, as these systems scaled up in these accelerator counts to meet the demand. The electricity bill competing with the purchase price is now the main motivation to improve energy efficiency, alongside reducing the carbon footprint, stress on the power infrastructure, and load on the cooling systems. While runtime systems with dynamic voltage and frequency scaling have greatly improved energy efficiency in CPU-based supercomputers, applying similar techniques to accelerators is challenging due to architectural differences and unknown reactivity to frequency changes.
This thesis presents a methodology for measuring the accelerator reactivity to frequency changes and the length of the frequency transitions through artificial workload, using built-in timers in accelerators. The methodology was implemented in the LATEST tool for CUDA hardware streaming multiprocessor (SM) frequency and validated on three pieces of hardware: RTX Quadro 6000, A100 SXM-4, and GH200. The gained insights were particularly useful in the next part of the work, the development of the runtime system, dedicated to CUDA hardware.
The developed runtime system relies on the SM frequency tuning based on the time interval. The main reason for this choice was the short CUDA kernel duration compared to the switching latency. This makes the usage of individual SM frequency settings for each kernel impractical, leading to switching overhead that outweighs all potential savings. By periodically sampling the performance counters using the CUPTI PM Sampling API, the arithmetic intensity can be determined in real-time. Based on the roofline mode, the optimum frequency is identified. To adjust the frequency, a special daemon tool is used, which directly uses the NVML API to perform the frequency changes. This daemon tool removes the overhead present in nvidia-smi and also facilitates access to otherwise root-only SM frequency scaling to non-privileged users.
The runtime system was evaluated on both artificial benchmark with predefined arithmetic intensity behavior in several configurations and on ESPRESO FEM, which is a highly optimized production application for mechanical simulations using the FETI method. All experiments were done using the A100 SXM-4 accelerator. The results confirmed that dynamic tuning based on hardware utilization can achieve significant GPU energy savings. The artificial load benchmark savings reached up to 23%, while the ESPRESO FEM bechmarks were more reserved with only 7.4% energy savings - highlighting that significant energy savings achieved with small performance penalty, under 8.7% in all cases. | en |
dc.description.abstract | Problém vysoké spotřeby energie představuje hlavní překážku při návrhu exascale superpočítačů, jejichž výkon do značné míry závisí na akcelerátorech - specializovaném druhu hardwaru schopného řešit určité druhy úloh výrazně efektivněji, než by to dokázaly běžné procesory (CPU). Prudký rozvoj umělé inteligence významně zvýšil nároky těchto superpočítačů, protože počet akcelerátorů v těchto systémech prudce vzrostl, aby pokryl rostoucí poptávku. Účty za elektřinu, které svoji výší snadno konkurují pořizovací ceně samotného hardwaru, se staly hlavní motivací k vylepšení energetické efektivity, vedle snahy snížit uhlíkovou stopu a vyrovnat zátěž na energetickou infrastrukturu a chladící systémy. Zatímco runtime systémy provádějící dynamické škálování napětí a frekvence výrazně přispěly k zlepšení energetické efektivity CPU systémů, aplikace podobných technik na akcelerátory představuje odlišnou výzvu, zejména kvůli odlišnostem v architektuře a neznámé reaktivitě na změny frekvence.
Tato diplomová práce představuje metodologii měření této reaktivity akcelerátorů na změny frekvence a délku této změny pomocí sledování umělé zátěže, využívající hardwarové časovače v akcelerátorech. Metodologie byla implementována v nástroji LATEST určeném pro frekvenci streaming multiprocesorů (SM frekvence) hardwaru CUDA a ověřena na třech kusech hardwaru: RTX Quadro 6000, A100 SXM-4 a GH200. Získané poznatky byly klíčové pro další část -- vývoj vlastního runtime systému, speciálně navrženého pro CUDA hardware.
Vyvinutý runtime systém je postaven na ladění frekvence streaming multiprocesorů skrze určitý časový interval. Hlavním důvodem této implementace je skutečnost, že CUDA kernely mají mnohdy řádově kratší trvání než samotná switching latence. To činí nastavování SM frekvence pro každý kernel nepraktické, protože režie přepínání SM frekvence může převážit veškeré úspory. Skrze periodické vyčítání pomocí CUPTI PM Sampling API je možné v reálném čase určit aritmetickou intenzitu v reálném čase. Na základě roofline modelu je následně určena optimální SM frekvence. Nastavování SM frekvence pak probíhá použitím speciální daemon aplikace, která přímo komunikuje s NVML API. Tento přístup odstraňuje overhead spojený s použitím nvidia-smi a také zpřístupňuje ladění SM frekvence všem uživatelům i bez oprávnění root.
Runtime systém byl testován jak na umělé zátěži s předem známým chováním aritmetické intenzity v několika konfiguracích, tak na aplikaci ESPRESO FEM, což je vysoce optimalizovaný kód určený pro mechanické simulace pomocí metod FETI. Všechny experimenty probíhaly s použitím hardwaru A100 SXM-4. V případě umělé zátěže dosáhly úspory až 23%, zatímco benchmarky s ESPRESO FEM poskytly úspory 7.4% - což však stále potvrzuje, že lze dosáhnout výrazných energetických úspor s minimálním snížením výkonů, které nepřekročilo 8.7% v žádném z jmenovaných případů. | cs |
dc.format.extent | 4592360 bytes | |
dc.format.mimetype | application/pdf | |
dc.language.iso | en | |
dc.publisher | Vysoká škola báňská – Technická univerzita Ostrava | cs |
dc.subject | Supercomputer | en |
dc.subject | HPC | en |
dc.subject | GPU | en |
dc.subject | energy efficiency | en |
dc.subject | CUDA | en |
dc.subject | GPGPU | en |
dc.subject | Superpočítač | cs |
dc.subject | HPC | cs |
dc.subject | GPU | cs |
dc.subject | energetická efektivita | cs |
dc.subject | CUDA | cs |
dc.subject | GPGPU | cs |
dc.title | Dynamic energy-efficiency optimization of GPGPU accelerated applications | en |
dc.title.alternative | Dynamická optimalizace GPGPU akcelerovaných aplikací z pohledu spotřeby energie | cs |
dc.type | Diplomová práce | cs |
dc.contributor.referee | Vysocký, Ondřej | |
dc.date.accepted | 2025-06-02 | |
dc.thesis.degree-name | Ing. | |
dc.thesis.degree-level | Magisterský studijní program | cs |
dc.thesis.degree-grantor | Vysoká škola báňská – Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky | cs |
dc.description.department | 470 - Katedra aplikované matematiky | cs |
dc.thesis.degree-program | Výpočetní a aplikovaná matematika | cs |
dc.thesis.degree-branch | Výpočetní metody a HPC | cs |
dc.description.result | výborně | cs |
dc.identifier.sender | S2724 | |
dc.identifier.thesis | VEL0109_FEI_N0541A170007_S02_2025 | |
dc.rights.access | openAccess | |