Another approach are C++ portability frameworks such as Kokkos and RAJA . They provide high-level parallel abstractions such as the parallel implementation of the traditional "for", "reduce", and "scan" operations, which the framework maps to specific hardware backends that use the corresponding platform-native programming models. These may, in addition, serve as forerunners for corresponding extensions to be added to the C++ standard.