Formal methods for GPGPU programming: is the demand met?

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

6 Downloads (Pure)

Abstract

Over the years, researchers have developed many formal method tools to support software development. However, hardly any studies are conducted to determine whether the actual problems developers encounter are sufficiently addressed. For the relatively young field of GPU programming, we would like to know whether the tools developed so far are sufficient, or whether some problems still need attention. To this end, we first look at what kind of problems programmers encounter in OpenCL and CUDA. We gather problems from Stack Overflow and categorise them with card sorting. We find that problems related to memory, synchronisation of threads, threads in general and performance are essential topics. Next, we look at (verification) tools in industry and research, to see how these tools addressed the problems we discovered.
We think many problems are already properly addressed, but there is still a need for easy to use sound tools. Alternatively, languages or programming styles can be created, that allows for easier checking for soundness.
Original languageEnglish
Title of host publicationIntegrated Formal Methods
Place of PublicationCham
PublisherSpringer
Number of pages18
EditionIFM 2020
Publication statusAccepted/In press - 20 Nov 2020

Keywords

  • GPU
  • GPGPU
  • Formal methods
  • Verification
  • Bugs
  • CUDA
  • OpenCL

Fingerprint Dive into the research topics of 'Formal methods for GPGPU programming: is the demand met?'. Together they form a unique fingerprint.

Cite this