Expressing Hierarchical Code Optimizations via MDH-Based Schedules
DescriptionThe optimization processes of modern compilers are often guided by performance experts who express optimization via so-called scheduling languages. We present our work-in-progress results toward a novel compiler whose scheduling language is based on the approach of Multi-Dimensional Homomorphisms (MDH). We argue that our MDH-based scheduling language enables a structured, hierarchical optimization process, by offering scheduling commands that systematically de- and re-compose computations to/from the memory and core hierarchies of state-of-the-art architectures (GPUs, multi-core CPUs, etc). Thereby, a performance expert expresses hierarchical code optimizations in a concise and structured way, contributing to a simplified code optimization process. Our first experiments on NVIDIA GPU and Intel CPU show that our scheduling language is capable of expressing as hierarchical code optimizations the optimization decisions of the popular deep learning compiler TVM. Our experiments also confirm that via auto-tuning, we are able to achieve better performance than TVM on both architectures.
Event Type
Workshop
TimeFriday, 18 November 202211:10am - 11:30am CST
LocationC140-142
W
Algorithms
Architectures
Compilers
Computational Science
Exascale Computing
Heterogeneous Systems
Hierarchical Parallelism
Memory Systems
Parallel Programming Languages and Models
Parallel Programming Systems
Resource Management and Scheduling
Recorded