Taskgrind: Heavyweight Dynamic Binary Instrumentation for Parallel Programs Analysis

Romain Pereira, George Stelle, Patrick Carribault

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

Abstract

Determinacy races are concurrent programming hazards occurring when two accesses on the same memory address are not ordered, and at least one is writing. Their presence hints at a correctness error, particularly under asynchronous task-based parallel programming models. This paper introduces Taskgrind: a Valgrind tool for memory access analysis of parallel programming models such as Cilk or OpenMP. We illustrate the tool's capabilities with a determinacy-race analysis and confront it with state-of-the-art tools. Results show fewer false negatives and memory overheads on a set of microbenchmarks and LULESH, with meaningful error reports toward assisting programmers when parallelizing programs.

Original languageEnglish
Title of host publicationProceedings of SC 2024-W
Subtitle of host publicationWorkshops of the International Conference for High Performance Computing, Networking, Storage and Analysis
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages214-221
Number of pages8
ISBN (Electronic)9798350355543
DOIs
Publication statusPublished - 1 Jan 2024
Externally publishedYes
Event2024 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC Workshops 2024 - Atlanta, United States
Duration: 17 Nov 202422 Nov 2024

Publication series

NameProceedings of SC 2024-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis

Conference

Conference2024 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC Workshops 2024
Country/TerritoryUnited States
CityAtlanta
Period17/11/2422/11/24

Keywords

  • Binary Instrumentation
  • Determinacy Race
  • HPC
  • Task

Fingerprint

Dive into the research topics of 'Taskgrind: Heavyweight Dynamic Binary Instrumentation for Parallel Programs Analysis'. Together they form a unique fingerprint.

Cite this