Split Compilation for Accelerator-based Multicores Panagiotis Theocharis Computer Systems Lab (CSL) Ghent University
Problem Statement Ever increasing performance and power-efficiency needs ASICs/ASIPs are becoming unaffordable Heterogeneous concurrency
Accelerator-based Multicores General purpose cores Specialized accelerators Interfacing
Virtualizing the HW/SW Interface Reuse legacy code Auto-tune for efficiency Immune to hardware innovation Flexible resource allocation
Our approach: Split Compilation Static Phase Dynamic Phase Dynamic Phase bytecode code executable annotations Architecture description Offline Time-consuming analyses Hardware-independent optimizations Install/Load/Run time Quick decisions Actual code mapping
Target Hardware Platform Two functional views/operation modes Features heterogeneous FUs, local RFs, direct connections between FUs Reconfigurable every cycle Tightly coupled to control processor IMEC ADRES CGRA Coarse-Grained Reconfigurable Array
Phase 1 (current) OpenIMPACT DRESC IR architecture description LLVM Heuristical back-end Low Level Virtual Machine compiler infrastructure Replace existing simulated-annealing-based backend Quick decision based on heuristics Depends on code/hardware features Parameterizable for DSE C code ADRES executable
Phase 2: Design Space Exploration LLVM DRESC + IR architecture description M achine L earning Design Space Exploration optimized architecture description optimized architecture description optimized compiler strategy C code ADRES executable
Phase 3: Virtualization LLVM LLVM – DRESC C code ADRES executable bytecode optimized architecture description deployment time compiler strategy static
ML Phase 4: Mapping Automation LLVM LLVM – DRESC bytecode deployment time abstract architecture description optimized architecture description compiler strategy C code static ADRES executable
Phase 5: True Split Compilation LLVM LLVM – DRESC bytecode staticdeployment time optimized architecture description compiler strategy ML abstract architecture description annotations C code ADRES executable
Split Compilation for Accelerator-based Multicores Panagiotis Theocharis Computer Systems Lab (CSL) Ghent University