A Unified Programming Model for Heterogeneous Computing with CPU and Accelerator Technologies
Yuqing Xiong

TL;DR
This paper introduces a unified programming model that simplifies programming across heterogeneous systems with CPUs and accelerators, enabling easier development and coupling of applications through common programming languages and APIs.
Contribution
The paper proposes a novel unified programming model that extends existing languages to include accelerators and reduces diverse systems to a single-core CPU model for simplified programming.
Findings
Unified programming model makes cross-accelerator programming easier.
All computer systems can be represented as single-core CPU systems with I/O.
Coupled applications can be more naturally implemented using the model.
Abstract
This paper consists of three parts. The first part provides a unified programming model for heterogeneous computing with CPU and accelerator (like GPU, FPGA, Google TPU, Atos QPU, and more) technologies. To some extent, this new programming model makes programming across CPUs and accelerators turn into usual programming tasks with common programming languages, and relieves complexity of programming across CPUs and accelerators. It can be achieved by extending file managements in common programming languages, such as C/C++, Fortran, Python, MPI, etc., to cover accelerators as I/O devices. In the second part, we show that all types of computer systems can be reduced to the simplest type of computer system, a single-core CPU computer system with I/O devices, by the unified programming model. Thereby, the unified programming model can truly build the programming of various computer systems…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Cloud Computing and Resource Management · Scientific Computing and Data Management
