Title
Potential and methods for embedding dynamic offloading decisions into application code.
Abstract
A broad spectrum of applications can be accelerated by offloading computation intensive parts to reconfigurable hardware. However, to achieve speedups, the number of loop iterations (trip count) needs to be sufficiently large to amortize offloading overheads. Trip counts are frequently not known at compile time, but only at runtime just before entering a loop. Therefore, we propose to generate code for both the CPU and the coprocessor, and defer the offloading decision to the application runtime. We demonstrate how a toolflow, based on the LLVM compiler framework, can automatically embed dynamic offloading decisions into the application code. We perform in-depth static and dynamic analysis of popular benchmarks, which confirm the general potential of such an approach. We also propose to optimize the offloading process by decoupling the runtime decision from the loop execution (decision slack). The feasibility of our approach is demonstrated by a toolflow that automatically identifies suitable data-parallel loops and generates code for the FPGA coprocessor of a Convey HC-1. We evaluate the integrated toolflow with representative loops executed for different input data sizes.
Year
DOI
Venue
2016
10.1016/j.compeleceng.2016.04.021
Computers & Electrical Engineering
Keywords
Field
DocType
Runtime system,Runtime decision,Hotspot offloading,Convey HC-1,LLVM,SCEV
Central processing unit,Computer science,Compile time,Parallel computing,Field-programmable gate array,Real-time computing,Compiler,Coprocessor,Reconfigurable computing,Computation,Runtime system
Journal
Volume
Issue
ISSN
55
C
0045-7906
Citations 
PageRank 
References 
1
0.37
21
Authors
4
Name
Order
Citations
PageRank
Gavin Vaz1122.85
Heinrich Riebler2133.58
Tobias Kenter3136.07
Christian Plessl429735.98