Domain-Specific Compilation Framework with High-Level Tensor Abstraction for Fast Fourier Transform and Finite-Difference Time-Domain Methods
Tid: To 2025-06-12 kl 14.00
Plats: D3, Lindstedtsvägen 5, Stockholm
Språk: Engelska
Ämnesområde: Datalogi
Respondent: Yifei He , Beräkningsvetenskap och beräkningsteknik (CST)
Opponent: Associate Professor Ren Bin, College of William & Mary, Williamsburg, VA, USA
Handledare: Professor Stefano Markidis, Beräkningsvetenskap och beräkningsteknik (CST); Associate professor Artur Podobas, Programvaruteknik och datorsystem, SCS
QC 20250519
Abstract
När Dennard-skalningen tog slut, började förbättringar i hårdvarans prestanda komma från mer komplexa arkitekturer. Detta kräver avancerade sätt att skriva program. Idag finns många olika typer av hårdvara — CPU:er, GPU:er, FPGA:er och specialbyggda chip (ASIC) — som alla kräver manuellt arbete och lågnivå-optimering för att fungera bra. Prestandaprogrammering handlar inte längre bara om att förbättra kod, utan bygger allt mer på domänspecifika kompilatorer, smarta prestandamodeller och automatiska metoder för att generera bra kod. Vanliga numeriska bibliotek bygger ofta på handskriven kod anpassad för en viss plattform. Sådan kod kan vara snabb för vissa delar, men är ofta långsam för andra och svår att flytta mellan olika system. Det gör utveckling dyr och skapar flaskhalsar som gör det svårt att använda kod på många typer av hårdvara. För att lösa dessa problem presenterar denna avhandling en metod för att bygga domäspecifika kompilatorer för numeriska beräkningar. Fokus ligger på två typer av metoder: Snabb Fouriertransform (FFT) och Finita Differens i Tidsdomän (FDTD). Ramverket bygger på MLIR (Multi-Level Intermediate Representation) och LLVM, och använder 3D-tensorer med explicit beräkningslogik. Kompilatorn gör automatiska optimeringar som loop-delning, sammanslagning och vektorisering.Vi testar detta på olika typer av hårdvara: CPU:er från Intel, AMD och ARM samt GPU:er. Resultaten visar både hög prestanda och god portabilitet mellan olika plattformar.