Abstract
The field of computer vision is steadily growing in its complexity and application areas. FPGAs have shown that they can meet the growing demands for performance and energy efficiency. However, their programmability is a major challenge for software programmers. With OpenVX a standard for cross platform acceleration of computer vision applications exists. Existing OpenVX FPGA frameworks often contain non-standard constructs and consider either fixed processor architectures or specialized non-adaptive accelerators. Therefore, we propose ArcvaVX, a framework that generates a runtime-adaptive vision architecture from OpenVX applications, which is performant and flexible. It (1) verifies the user implemented OpenVX applications, partitions them into task graphs and creates their meta-data (2) maps these tasks to physical nodes, creates a schedule, and clusters and places the nodes within a partition-based topology (3) creates the hardware architecture, including additional components required to generate a runtime-adaptive system. These components contain runtime configurable network adapters that can prevent deadlocks, a controller for direct memory access, and a manager that configures both and maintains the schedule. The architecture is designed for applications with high data rates and low synchronization overhead. The evaluation shows a low latency overhead of 0.006% added by the architecture, while resource consumption is more than halved compared to a design consisting only of accelerators.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Giduthuri, R., Pulli, K.: OpenVX: a framework for accelerating computer vision. In: Conference on Computer Graphics and Interactive Techniques (SIGGRAPH) (2016)
Hascoë, J., de Dinechin, B.D., Desnos, K., et al.: A distributed framework for low-latency OpenVX over the RDMA NoC of a clustered manycore. In: High Performance Extreme Computing Conference (HPEC), pp. 1–7 (2018)
Kalb, T., Kalms, L., Göhringer, D., et al.: Tulipp: towards ubiquitous low-power image processing platforms. In: International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS) (2016)
Kalms, L., Amini Rad, P., Ali, M., et al.: A parametrizable high-level synthesis library for accelerating neural networks on fpgas. Journal of Signal Processing Systems (JSPS) (2021)
Kalms, L., Göhringer, D.: Scalable clustering and mapping algorithm for application distribution on heterogeneous and irregular FPGA clusters. J. Parallel Distrib. Comput. (JPDC) 133, 367–376 (2019)
Kalms, L., Göhringer, D.: Accelerated high-level synthesis feature detection for FPGAs using HiFlipVX. In: Jahre, M., Göhringer, D., Millet, P. (eds.) Towards Ubiquitous Low-power Image Processing Platforms, pp. 115–135. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-53532-2_7
Membarth, R., Reiche, O., Hannig, F., et al.: HIPAcc: a domain-specific language and compiler for image processing. Trans. Parallel Distrib. Syst. (TPDS) 27, 210–224 (2016)
Nickel, M., Kalms, L., Häring, T., et al.: High-performance AKAZE implementation including parametrizable and generic HLS modules. In: International Conference on Application-specific Systems, Architectures and Processors (ASAP) (2022)
Nurvitadhi, E., Venkatesh, G., Sim, J., et al.: Can FPGAs beat GPUs in accelerating next-generation deep neural networks? In: International Symposium on Field-Programmable Gate Arrays (FPGA) (2017)
Omidian, H., Ivanov, N., Lemieux, G.G.F.: An accelerated OpenVX overlay for pure software programmers. In: Conference on Field-Programmable Technology (FPT) (2018)
Özkan, M.A., Ok, B., Qiao, B., et al.: HipaccVX: wedding of OpenVX and DSL-based code generation. J. Real Time Image Process. (JRTIP) 18, 765–777 (2021)
Qasaimeh, M., Denolf, K., Lo, J., et al.: Comparing energy efficiency of CPU, GPU and FPGA implementations for vision kernels. In: International Conference on Embedded Software and Systems (ICESS) (2019)
Rettkowski, J., Göhringer, D.: RAR-NOC: a reconfigurable and adaptive routable network-on-chip for FPGA-based multiprocessor systems. In: International Conference on ReConFigurable Computing and FPGAs (ReConFig) (2014)
Tagliavini, G., Haugou, G., Marongiu, A., et al.: Optimizing memory bandwidth exploitation for OpenVX applications on embedded many-core accelerators. J. Real Time Image Process. (JRTIP) 15, 73–92 (2018)
Taheri, S., Behnam, P., Bozorgzadeh, E., et al.: AFFIX: automatic acceleration framework for FPGA implementation of OpenVX vision algorithms. In: International Symposium on Field-Programmable Gate Arrays (FPGA) (2019)
Acknowledgements
This work was partially supported by the German Federal Ministry of Education and Research by funding the competence center for Big Data and AI “ScaDS.AI Dresden/Leipzig” and partially funded by the German Federal Ministry of Education and Research BMBF as part of the PARIS project under grant agreement number 16ES0657.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kalms, L., Nickel, M., Göhringer, D. (2023). ArcvaVX: OpenVX Framework for Adaptive Reconfigurable Computer Vision Architectures. In: Palumbo, F., Keramidas, G., Voros, N., Diniz, P.C. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2023. Lecture Notes in Computer Science, vol 14251. Springer, Cham. https://doi.org/10.1007/978-3-031-42921-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-42921-7_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42920-0
Online ISBN: 978-3-031-42921-7
eBook Packages: Computer ScienceComputer Science (R0)