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

04/14/2022
by   Yuqing Xiong, et al.
0

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 on one API (i.e. file managements of common programming languages), and can make programming for various computer systems easier. In third part, we present a new approach to coupled applications computing (like multidisciplinary simulations) by the unified programming model. The unified programming model makes coupled applications computing more natural and easier since it only relies on its own power to couple multiple applications through MPI.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/21/2013

PRoMoTo 2013 proceedings

Programming for Mobile and Touch (PRoMoTo'13) was held at the 2013 ACM S...
research
09/15/2018

HDArray: Parallel Array Interface for Distributed Heterogeneous Devices

Heterogeneous clusters with nodes containing one or more accelerators, s...
research
02/26/2018

Tornado: A Practical And Efficient Heterogeneous Programming Framework For Managed Languages

This paper describes our experiences creating Tornado: a practical and e...
research
08/20/2020

High-Performance Simultaneous Multiprocessing for Heterogeneous System-on-Chip

This paper presents a methodology for simultaneous heterogeneous computi...
research
09/29/2021

Unified Shader Programming in C++

In real-time graphics, the strict separation of programming languages an...
research
04/06/2023

A computation of D(9) using FPGA Supercomputing

This preprint makes the claim of having computed the 9^th Dedekind Numbe...
research
06/16/2022

CuPBoP: CUDA for Parallelized and Broad-range Processors

CUDA is one of the most popular choices for GPU programming, but it can ...

Please sign up or login with your details

Forgot password? Click here to reset