HipaccVX: wedding of OpenVX and DSL-based code generation
- PDF / 2,772,690 Bytes
- 13 Pages / 595.276 x 790.866 pts Page_size
- 28 Downloads / 178 Views
ORIGINAL RESEARCH PAPER
HipaccVX: wedding of OpenVX and DSL‑based code generation M. Akif Özkan1 · Burak Ok1 · Bo Qiao1 · Jürgen Teich1 · Frank Hannig1 Received: 4 February 2020 / Accepted: 27 August 2020 © The Author(s) 2020
Abstract Writing programs for heterogeneous platforms optimized for high performance is hard since this requires the code to be tuned at a low level with architecture-specific optimizations that are most times based on fundamentally differing programming paradigms and languages. OpenVX promises to solve this issue for computer vision applications with a royalty-free industry standard that is based on a graph-execution model. Yet, the OpenVX ’ algorithm space is constrained to a small set of vision functions. This hinders accelerating computations that are not included in the standard. In this paper, we analyze OpenVX vision functions to find an orthogonal set of computational abstractions. Based on these abstractions, we couple an existing domain-specific language (DSL) back end to the OpenVX environment and provide language constructs to the programmer for the definition of user-defined nodes. In this way, we enable optimizations that are not possible to detect with OpenVX graph implementations using the standard computer vision functions. These optimizations can double the throughput on an Nvidia GTX GPU and decrease the resource usage of a Xilinx Zynq FPGA by 50% for our benchmarks. Finally, we show that our proposed compiler framework, called HipaccVX, can achieve better results than the state-of-the-art approaches Nvidia VisionWorks and Halide-HLS. Keywords OpenVX · Domain-specific language · Image processing · GPU · FPGA
1 Introduction The emergence of cheap, low-power cameras and embedded platforms has boosted the use of smart systems with Computer Vision (CV) capabilities in a broad spectrum of markets, ranging from consumer electronics, such as mobile, to real-time automotive applications and industrial automation, e.g., semiconductors, pharmaceuticals, packaging. The global machine vision market size was valued at $16.0 * M. Akif Özkan [email protected] Burak Ok [email protected] Bo Qiao [email protected] Jürgen Teich [email protected] Frank Hannig [email protected] 1
Hardware/Software Co‑Design, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg (FAU), Erlangen, Germany
billion already in 2018, and yet is expected to reach a value of $24.8 billion by 2023 [2]. A CV application might be implemented on a great variety of hardware architectures ranging from Graphics Processing Units (GPUs) to Field Programmable Gate Arrays (FPGAs) depending on the domain and the associated constraints (e.g., performance, power, energy, and cost). Yet, for sophisticated real-life applications, the best trade-off is often achieved by heterogeneous systems incorporating different computing components that are specialized for particular tasks. Optimizing CV programs to achieve high performance on such heterogeneous systems usually goes along with sacrificing readability, portab
Data Loading...