Chapter 21: Heterogeneous programming

View at publisher
Authors: Victor L. Eijkhout
Cited by: 0

Abstract

Heterogeneous programming, using a combination of central processing units (CPUs) and GPUs or other accelerators, is becoming increasingly common. In this chapter we take a brief look at two systems that can execute the same code on either the “host,” the CPU, or the “device,” the GPU: Kokkos and SYCL. Both systems embody the spirit of range algorithms: they invoke lambda expressions in parallel over an index range. The programming system we will not consider is CUDA, which is proprietary to NVidia GPUs. Also, it is based on an extension to C/C++ that is not fully compliant with recent standards, and here we prefer to consider general solutions.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Embedded Systems Design Techniques Computer Graphics and Visualization Techniques

Publication details

Journal / source
Society for Industrial and Applied Mathematics eBooks
Pages
205–210
Publication date
19 January 2026
Language
EN
Document type
Book chapter