Abstract
SYCL is a C++ programming model for the development of heterogeneous programs. It uses the concept of kernels, where multiple instances of a computation are executed concurrently on a computing unit. This concurrency entails that the set of possible program behaviours can be of considerable size, which makes these programs error-prone. Formal verification could be used to ensure the correctness of all these possible program behaviours. However, there exist no formal verification tools for SYCL. In this paper, SYCL support is added to VerCors, a formal verification tool for concurrent software, by encoding SYCL constructs into VerCors’ internal language COL. To the extent of our knowledge, this is the first deductive verification tool for SYCL. We show how SYCL’s basic- and ND-range kernels are encoded, along with the encoding and challenges related to scheduling kernels and the execution order of those kernels. In addition, we discuss how SYCL’s buffers and data accessors are encoded, focusing on the challenges related to it, in particular enabling memory transfer between host and device. The usability of the added SYCL support and how it was evaluated are discussed as well.
Original language | English |
---|---|
Title of host publication | Software Engineering and Formal Methods |
Subtitle of host publication | 22nd International Conference, SEFM 2024, Aveiro, Portugal, November 6-8, 2024. Proceedings |
Editors | Alexandre Madeira, Alexander Knapp |
Place of Publication | Cham, Switzerland |
Publisher | Springer |
Pages | 182-199 |
Number of pages | 18 |
ISBN (Electronic) | 978-3-031-77382-2 |
ISBN (Print) | 978-3-031-77381-5 |
DOIs | |
Publication status | Published - 26 Nov 2024 |
Event | 22nd International Conference on Software Engineering and Formal Methods, SEFM 2024 - Aveiro, Portugal Duration: 4 Nov 2024 → 8 Nov 2024 Conference number: 22 |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Publisher | Springer |
Volume | 15280 |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 22nd International Conference on Software Engineering and Formal Methods, SEFM 2024 |
---|---|
Abbreviated title | SEFM 2024 |
Country/Territory | Portugal |
City | Aveiro |
Period | 4/11/24 → 8/11/24 |
Keywords
- 2025 OA procedure
- Heterogeneous computing
- SYCL
- VerCors
- Formal verification