Title :
A Domain Specific Language and Toolchain for OpenCV Runtime Binary Acceleration Using GPU
Author :
Miyajima, Teruyuki ; Thomas, David ; Amano, Hideharu
Author_Institution :
Grad. Sch. of Sci. & Technol., Keio Univ., Yokohama, Japan
Abstract :
Computationally intensive applications, such as OpenCV, can be off-loaded to accelerators to reduce execution time. However, developing an accelerated system requires a significant amount of time, requiring the developer to first choose an accelerator and which parts to off-load, then to port and the offloaded kernels to the accelerator using many accelerator-specific tools. In addition to the low-level parallelism of the accelerator, the developer also needs to extract and utilize system-level parallelism found within the application, while making sure that the application still executes correctly. This paper presents Courier, a tool chain and a domain specific language for Runtime Binary Acceleration, designed to simplify many of the steps involved in accelerating an application. The Courier tool chain can extract dataflow from a running software binary file, explore the off-loaded execution time on an accelerator, and then actually accelerate the original binary. By utilizing Courier, both expert and non-expert users can easily extract system-level parallelism and decide which part should be off-loaded to accelerators in a mixed software-hardware environment, without special knowledge on the target application source code and accelerator architecture. In a case study an OpenCV application is accelerated by 2.06 times using Courier, without requiring the application source code or any re-compilation of the application.
Keywords :
computer vision; data flow computing; graphics processing units; operating system kernels; program compilers; specification languages; Courier tool chain; GPU; OpenCV runtime binary acceleration; accelerated system; accelerator architecture; accelerator-specific tools; accelerators; computationally intensive applications; dataflow; domain specific language; low-level parallelism; mixed software-hardware environment; off-loaded execution time; offloaded kernels; software binary file; system-level parallelism; target application source code; toolchain; Acceleration; Data transfer; Field programmable gate arrays; Graphics processing units; Parallel processing; Runtime; Domain Spefic Language; Dynamic Off-loading; GPU; OpenCV; Runtime Binary Acceleration;
Conference_Titel :
Networking and Computing (ICNC), 2012 Third International Conference on
Conference_Location :
Okinawa
Print_ISBN :
978-1-4673-4624-5
DOI :
10.1109/ICNC.2012.34