Chapter 21: Heterogeneous programming
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