Offloading C++17 Parallel STL on System Shared Virtual Memory Platforms

Pekka Jääskeläinen, John Glossner, Martin Jambor, Aleksi Tervo, Matti Rintala

    Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

    44 Downloads (Pure)


    Shared virtual memory simplifies heterogeneous platform programming by enabling sharing of memory address pointers between heterogeneous devices in the platform. The most advanced implementations present a coherent view of memory to the programmer over the whole virtual address space of the process. From the point of view of data accesses, this System SVM (SSVM) enables the same programming paradigm in heterogeneous platforms as found in homogeneous platforms. C++ revision 17 adds its first features for explicit parallelism through its “Parallel Standard Template Library” (PSTL). This paper discusses the technical issues in offloading PSTL on heterogeneous platforms supporting SSVM and presents a working GCC-based proof-of-concept implementation. Initial benchmarking of the implementation on an AMD Carrizo platform shows speedups from 1.28X to 12.78X in comparison to host-only sequential STL execution.
    Original languageEnglish
    Title of host publicationHigh Performance Computing
    Subtitle of host publicationISC High Performance 2018 International Workshops, Frankfurt/Main, Germany, June 24 - 28, 2018, Revised Selected Papers
    ISBN (Electronic)978-3-030-02465-9
    Publication statusPublished - 28 Jun 2018
    Publication typeA4 Article in conference proceedings
    EventISC High Performance International Workshops -
    Duration: 28 Jun 201828 Jun 2018

    Publication series

    NameTheoretical Computer Science and General Issues
    ISSN (Print)0302-9743


    ConferenceISC High Performance International Workshops

    Publication forum classification

    • Publication forum level 1


    Dive into the research topics of 'Offloading C++17 Parallel STL on System Shared Virtual Memory Platforms'. Together they form a unique fingerprint.

    Cite this