A Toolchain for Dynamic Function Off-load on CPU-FPGA Platforms
This new toolchain for accelerating application on CPU-FPGA platforms, called Courier-FPGA, extracts runtime information from a running target binary, and re-constructs the function call graph including input-output data. Then, it synthesizes hardware modules on the FPGA and makes software functions...
Saved in:
| Published in | Journal of Information Processing Vol. 23; no. 2; pp. 153 - 162 |
|---|---|
| Main Authors | , , |
| Format | Journal Article |
| Language | English |
| Published |
Information Processing Society of Japan
2015
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 1882-6652 1882-6652 |
| DOI | 10.2197/ipsjjip.23.153 |
Cover
| Summary: | This new toolchain for accelerating application on CPU-FPGA platforms, called Courier-FPGA, extracts runtime information from a running target binary, and re-constructs the function call graph including input-output data. Then, it synthesizes hardware modules on the FPGA and makes software functions on CPU by using Pipeline Generator. The Pipeline Generator also builds a pipeline control program by using Intel Threading Building Block (Intel TBB) to run both hardware modules and software functions in parallel. Finally, Courier-FPGA's Function Off-loader dynamically replaces and off-loads the original functions in the binary by using the built pipeline. Courier-FPGA performs the off-loading without user intervention, source code tweaks or re-compilations of the binary. In our case studies, Courier-FPGA was used to accelerate a histogram-of-gradients (HOG) feature detection program on the Zynq platform. A series of functions were off-loaded, and the program was sped up 3.98 times by using the built pipeline. |
|---|---|
| Bibliography: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 |
| ISSN: | 1882-6652 1882-6652 |
| DOI: | 10.2197/ipsjjip.23.153 |