CuPBoP: CUDA for Parallelized and Broad-range Processors

06/16/2022
by   Ruobing Han, et al.
0

CUDA is one of the most popular choices for GPU programming, but it can only be executed on NVIDIA GPUs. Executing CUDA on non-NVIDIA devices not only benefits the hardware community, but also allows data-parallel computation in heterogeneous systems. To make CUDA programs portable, some researchers have proposed using source-to-source translators to translate CUDA to portable programming languages that can be executed on non-NVIDIA devices. However, most CUDA translators require additional manual modifications on the translated code, which imposes a heavy workload on developers. In this paper, CuPBoP is proposed to execute CUDA on non-NVIDIA devices without relying on any portable programming languages. Compared with existing work that executes CUDA on non-NVIDIA devices, CuPBoP does not require manual modification of the CUDA source code, but it still achieves the highest coverage (69.6 than existing frameworks (56.6 CPU backends, CuPBoP supports several ISAs (e.g., X86, RISC-V, AArch64) and has close or even higher performance compared with other projects. We also compare and analyze the performance among CuPBoP, manually optimized OpenMP/MPI programs, and CUDA programs on the latest Ampere architecture GPU, and show future directions for supporting CUDA programs on non-NVIDIA devices with high performance

READ FULL TEXT
research
12/19/2021

COX: CUDA on X86 by Exposing Warp-Level Functions to CPUs

As CUDA programs become the de facto program among data parallel applica...
research
09/02/2021

Supporting CUDA for an extended RISC-V GPU architecture

With the rapid development of scientific computation, more and more rese...
research
10/30/2020

Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs

In recent years, heterogeneous computing has emerged as the vital way to...
research
10/27/2022

A Survey on Parallelism and Determinism

Parallelism is often required for performance. In these situations an ex...
research
05/27/2021

Early Experiences Migrating CUDA codes to oneAPI

The heterogeneous computing paradigm represents a real programming chall...
research
04/14/2022

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

This paper consists of three parts. The first part provides a unified pr...
research
12/09/2021

GPU backed Data Mining on Android Devices

Choosing an appropriate programming paradigm for high-performance comput...

Please sign up or login with your details

Forgot password? Click here to reset