University of Twente Student Theses

Login

Deductive verification for SYCL

Wittingen, E.M. (2024) Deductive verification for SYCL.

[img] PDF
1MB
Abstract:SYCL is a software development framework with which programs can be developed for heterogeneous computing systems. It uses the concept of kernels, where a kernel executes code inside it in parallel, and different kernels can be executed concurrently on multiple computing units. These concurrent executions mean that the set of possible program behaviours can be of considerable size, which makes it easy to overlook problems. To solve this, formal verification can be performed to ensure a program's correctness. However, there do not seem to exist any formal verification tools for SYCL programs. In this thesis, it is investigated how the deductive verification toolset VerCors could be extended to formally verify a subset of programs written in SYCL. This subset consists of programs that can contain two kinds of kernel definitions, data sharing between devices and the host, and declarations of data in various address spaces. For each feature in this subset, this thesis shows how its semantics are encoded into VerCors, and what considerations had to be made to facilitate the construction and soundness of these encodings. Finally, the efforts taken to ensure the soundness of the encoding and the usefulness of the supported SYCL subset are discussed.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:https://purl.utwente.nl/essays/97976
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page