Abstract-This paper introducerar TIRAMISU, en polyhedral ram utformad för att generera hög prestanda kod för flera plattformar inklusive multicores, GPUs, och distribuerade maskiner. TIRAMISU inför ett schemaläggningsspråk med nya kommandon för att explicit hantera de komplexiteter som uppstår när man inriktar sig på dessa system. Ramen är utformad för områdena bildbehandling, stenciler, linjär algebra och djupinlärning. TIRAMISU har två huvuddrag: det bygger på en flexibel representation baserad på polyhedral modellen och det har ett rikt schemaläggningsspråk som tillåter finkornig kontroll av optimeringar. TIRAMISU använder en mellanrepresentation på fyra nivåer som möjliggör fullständig separation mellan algoritmer, looptransformationer, datalayouter och kommunikation. Denna separation förenklar målinriktningen av flera maskinvaruarkitekturer med samma algoritm. Vi utvärderar TIRAMISU genom att skriva en uppsättning av bildbehandling, djupinlärning, och linjär algebra riktmärken och jämföra dem med toppmoderna kompilatorer och handjusterade bibliotek. Vi visar att TIRAMISU matchar eller överträffar befintliga kompilatorer och bibliotek på olika maskinvaruarkitekturer, inklusive flerkärniga processorer, GPU:er och distribuerade maskiner.
Tiramisu REF är en polyhedral modellbaserad kompilatorram som introducerar ett schemaläggningsspråk för att göra det möjligt för programmeraren att utforska olika programomvandlingar.
Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code
{'venue': '2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)', 'journal': '2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)', 'mag_field_of_study': ['Computer Science']}