Author:
Leppänen Topi,Lotvonen Atro,Jääskeläinen Pekka
Abstract
Hardware specialization is a well-known means to significantly improve the performance and energy efficiency of various application domains. Modern computing systems consist of multiple specialized processing devices which need to collaborate with each other to execute common tasks. New heterogeneous programming abstractions have been created to program heterogeneous systems. Even though many of these abstractions are open vendor-independent standards, cross-vendor interoperability between different implementations is limited since the vendors typically do not have commercial motivations to invest in it. Therefore, getting good performance from vendor-independent heterogeneous programming standards has proven difficult for systems with multiple different device types. In order to help unify the field of heterogeneous programming APIs for platforms with hardware accelerators from multiple vendors, we propose a new software abstraction for hardware-accelerated tasks based on the open OpenCL programming standard. In the proposed abstraction, we rely on the built-in kernel feature of the OpenCL specification to define a portability layer that stores enough information for automated accelerator utilization. This enables the portability of high-level applications to a diverse set of accelerator devices with minimal programmer effort. The abstraction enables a layered software architecture that provides for an efficient combination of application phases to a single asynchronous application description from multiple domain-specific input languages. As proofs of the abstraction layer serving its purpose for the layers above and below it, we show how a domain-specific input description ONNX can be implemented on top of this portability abstraction, and how it also allows driving fixed function and FPGA-based hardware accelerators below in the hardware-specific backend. We also provide an example implementation of the abstraction to show that the abstraction layer does not seem to incur significant execution time overhead.
Subject
Computer Science Applications,Computer Vision and Pattern Recognition,Human-Computer Interaction,Computer Science (miscellaneous)
Reference34 articles.
1. AbadiM.
AgarwalA.
BarhamP.
BrevdoE.
ChenZ.
CitroC.
TensorFlow: Large-Scale Machine Learning On Heterogeneous Systems2015
2. End-to-end environmental sound classification using a 1D convolutional neural network;Abdoli;Expert Syst. Appl,2019
3. The AMD ROCm 5 Open Platform for HPC and ML Workloads2022
4. BaiJ.
LuF.
ZhangK.
ONNX: Open Neural Network Exchange2019
5. MXNet: a flexible and efficient machine learning library for heterogeneous distributed systems
ChenT.
LiM.
LiY.
LinM.
WangN.
WangM.
arXiv: 1512.01274 [Preprint]2015
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Enhancing Syntactic Resolution in Biomedical Data Processing with OpenCL: A Use Case Study;2023 IEEE 6th International Conference on Cloud Computing and Artificial Intelligence: Technologies and Applications (CloudTech);2023-11-21
2. AFOCL: Portable OpenCL Programming of FPGAs via Automated Built-in Kernel Management;2023 IEEE Nordic Circuits and Systems Conference (NorCAS);2023-10-31
3. On the OpenCL Support for Streaming Fixed-Function Accelerators on Embedded SoC FPGAs;Applied Reconfigurable Computing. Architectures, Tools, and Applications;2023