RT Conference Proceedings T1 C++ for Heterogeneous Programming: oneAPI (DPC++ and oneTBB) A1 Reinders, James A1 Voss, Michael J. A1 Reble, Pablo A1 Asenjo-Plaza, Rafael K1 oneAPI (Programas de ordenador) K1 Programación de ordenadores AB This tutorial provides hands-on experience programming CPUs, GPUs and FPGAs using a unified, standards-based programming model: oneAPI. oneAPI includes a cross-architecture language: Data Parallel C++ (DPC++). DPC++ is an evolution of C++ that incorporates the SYCL language with extensions for Unified Shared Memory (USM), ordered queues and reductions, among other features. oneAPI also includes libraries for API-based programming, such as domain-specific libraries, math kernel libraries and Threading Building Blocks (TBB). The main benefit of using oneAPI over other heterogeneous programming models is the single programming language approach, which enables one to target multiple devices using the same programming model, and therefore to have a cleaner, portable, and more readable code. In the current heterogeneous era, it is still challenging for developers to match computations to accelerators and to coordinate the use of those accelerators in the context of their larger applications. Therefore, this tutorial’s main goal is not just teaching oneAPI as an easier approach to target heterogeneous platforms, but also to convey techniques to map applications to heterogeneous hardware paying attention to the scheduling and mapping problems (how to achieve load balance and which regions of the application are more suitable to each particular device). YR 2020 FD 2020-11-19 LK https://hdl.handle.net/10630/20404 UL https://hdl.handle.net/10630/20404 LA eng NO Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech. DS RIUMA. Repositorio Institucional de la Universidad de Málaga RD 3 mar 2026