skip to main content
10.1145/3456669.3456696acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwoclConference Proceedingsconference-collections
extended-abstract

Toward a Better Defined SYCL Memory Consistency Model

Published:27 April 2021Publication History

ABSTRACT

A memory consistency model is a key component of a parallel programming model that describes guaranteed behavior for applications and valid optimizations for implementers. The SYCL 2020 specification took a step forward by adopting the atomic_ref syntax from the C++20 specification and concepts similar to memory scopes from the OpenCL 2.0 specification, though further efforts to formalize the SYCL memory model are ongoing and will be progressed in future specifications.

This technical presentation will summarize the guarantees and several unexpected non-guarantees that are provided by the memory model in the SYCL 2020 specification, using accessible language and examples. The talk will describe memory models from other parallel programming models that could inform and influence the SYCL memory model, including the C++, OpenCL 2.0, and Vulkan memory models. The talk will also describe features unique to the SYCL specification that will need to be included in the SYCL memory model, such as unified shared memory, which introduce challenges that have not been solved in existing memory models.

References

  1. [n.d.]. Comparing the Vulkan SPIR-V memory model to C++s. https://www.khronos.org/blog/comparing-the-vulkan-spir-v-memory-model-to-cs. Accessed: 2021-16-03.Google ScholarGoogle Scholar
  2. Mark Batty, Alastair F. Donaldson, and John Wickerson. 2016. Overhauling SC Atomics in C11 and OpenCL. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (St. Petersburg, FL, USA) (POPL ’16). Association for Computing Machinery, New York, NY, USA, 634–648. https://doi.org/10.1145/2837614.2837637Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Benedict R. Gaster, Derek Hower, and Lee Howes. 2015. HRF-Relaxed: Adapting HRF to the Complexities of Industrial Heterogeneous Memory Models. ACM Trans. Archit. Code Optim. 12, 1, Article 7 (April 2015), 26 pages. https://doi.org/10.1145/2701618Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Khronos OpenCL Working Group. 2012. The OpenCL 1.2 API Specification. https://www.khronos.org/registry/OpenCL/.Google ScholarGoogle Scholar
  5. Khronos OpenCL Working Group. 2015. The OpenCL 2.0 API Specification. https://www.khronos.org/registry/OpenCL/.Google ScholarGoogle Scholar
  6. Khronos SYCL Working Group. 2020. The SYCL 1.2.1 Specification. https://www.khronos.org/registry/SYCL/.Google ScholarGoogle Scholar
  7. Khronos Vulkan Working Group. 2021. Vulkan 1.2.173 - A Specification. https://www.khronos.org/registry/vulkan/.Google ScholarGoogle Scholar
  8. ISO. 2017. ISO/IEC 14882:2017 Information technology — Programming languages — C++ (fifthed.). 1605 pages. https://www.iso.org/standard/68564.htmlGoogle ScholarGoogle Scholar
  9. Daniel Jackson. 2002. Alloy: A Lightweight Object Modelling Notation. ACM Trans. Softw. Eng. Methodol. 11, 2 (April 2002), 256290. https://doi.org/10.1145/505145.505149Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Daniel Lustig, Sameer Sahasrabuddhe, and Olivier Giroux. 2019. A Formal Analysis of the NVIDIA PTX Memory Consistency Model. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (Providence, RI, USA) (ASPLOS ’19). Association for Computing Machinery, New York, NY, USA, 257270. https://doi.org/10.1145/3297858.3304043Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. John Wickerson, Mark Batty, Tyler Sorensen, and George A. Constantinides. 2017. Automatically Comparing Memory Consistency Models. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (Paris, France) (POPL 2017). Association for Computing Machinery, New York, NY, USA, 190204. https://doi.org/10.1145/3009837.3009838Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Toward a Better Defined SYCL Memory Consistency Model
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            IWOCL '21: Proceedings of the 9th International Workshop on OpenCL
            April 2021
            112 pages
            ISBN:9781450390330
            DOI:10.1145/3456669

            Copyright © 2021 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 27 April 2021

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • extended-abstract
            • Research
            • Refereed limited

            Acceptance Rates

            Overall Acceptance Rate84of152submissions,55%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format