ReProspect - A framework for reproducible prospecting of CUDA applications

ReProspect is a Python framework for prospecting CUDA code, designed to ensure reproducibility through a fully programmatic approach.Prospecting encompasses three complementary ways of characterizing CUDA-based libraries and software components: how they interact with the CUDA runtime through API tracing, how kernels perform through kernel profiling, and how source constructs translate into machine code through binary analysis.ReProspect builds on NVIDIA tools: Nsight Systems, Nsight Compute, and the CUDA binary utilities.It streamlines data collection and extraction using these tools, and it complements them with new functionalities for programmatic analysis of these data, thus making it possible to encapsulate the entire prospecting analysis in a single Python script. Statement of needHPC software development strives to achieve performance and sustain it over time as hardware and software continue to evolve.Yet the modern programming landscape relies on complex software stacks and compiler toolchains that make it increasingly difficult to reason about code behavior.Developers therefore need tools that support continuous assessment of their code and help them unravel the implications of their design decisions and changes.Beyond ad hoc investigations, fully programmatic tools allow analyses to be integrated across the development cycle and open a range of new use cases.For instance, they support collaborative development by enabling developers to share concise, reproducible analyses that motivate design decisions and help reviewers grasp the impact of proposed changes.They also enable new types of tests in CI/CD pipelines that go beyond traditional output-correctness validation -such as confirming expected API call sequences for key library functionalities, verifying memory traffic for custom data layouts via kernel profiling, or validating the presence of specific instruction patterns in machine code.Finally, they can act as a framework for structuring research artifacts and documenting analyses, enabling others to reproduce and build upon prior work more effectively.For the CUDA stack, NVIDIA provides a set of proprietary tools guaranteed to be up-todate with their software and hardware.The runtime analysis tools Nsight Systems (NVIDIA Corporation, 2026d) and Nsight Compute (NVIDIA Corporation, 2026c) are designed for API tracing and kernel profiling, respectively.They both provide a GUI for exploring the results, as well as a low-level Python API for accessing the raw data.The CUDA binary utilities (NVIDIA Corporation, 2026a) provide command-line access to machine code (SASS or PTX (NVIDIA Corporation, 2026f)) and other information embedded in the binaries.However, while these tools allow raw data to be extracted, they do not themselves provide the infrastructure for effective programmatic analysis.

Authors

Institutions

Publication Details

Journal
The Journal of Open Source Software
Published
2026-09-15
DOI
https://doi.org/10.21105/joss.10067
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
article

ReProspect - A framework for reproducible prospecting of CUDA applications

Romin Tomasetti, Maarten Arnst
The Journal of Open Source Software
Software Testing and Debugging Techniques
article

ReProspect - A framework for reproducible prospecting of CUDA applications

Romin Tomasetti, Maarten Arnst
article en

Abstract

ReProspect is a Python framework for prospecting CUDA code, designed to ensure reproducibility through a fully programmatic approach.Prospecting encompasses three complementary ways of characterizing CUDA-based libraries and software components: how they interact with the CUDA runtime through API tracing, how kernels perform through kernel profiling, and how source constructs translate into machine code through binary analysis.ReProspect builds on NVIDIA tools: Nsight Systems, Nsight Compute, and the CUDA binary utilities.It streamlines data collection and extraction using these tools, and it complements them with new functionalities for programmatic analysis of these data, thus making it possible to encapsulate the entire prospecting analysis in a single Python script. Statement of needHPC software development strives to achieve performance and sustain it over time as hardware and software continue to evolve.Yet the modern programming landscape relies on complex software stacks and compiler toolchains that make it increasingly difficult to reason about code behavior.Developers therefore need tools that support continuous assessment of their code and help them unravel the implications of their design decisions and changes.Beyond ad hoc investigations, fully programmatic tools allow analyses to be integrated across the development cycle and open a range of new use cases.For instance, they support collaborative development by enabling developers to share concise, reproducible analyses that motivate design decisions and help reviewers grasp the impact of proposed changes.They also enable new types of tests in CI/CD pipelines that go beyond traditional output-correctness validation -such as confirming expected API call sequences for key library functionalities, verifying memory traffic for custom data layouts via kernel profiling, or validating the presence of specific instruction patterns in machine code.Finally, they can act as a framework for structuring research artifacts and documenting analyses, enabling others to reproduce and build upon prior work more effectively.For the CUDA stack, NVIDIA provides a set of proprietary tools guaranteed to be up-todate with their software and hardware.The runtime analysis tools Nsight Systems (NVIDIA Corporation, 2026d) and Nsight Compute (NVIDIA Corporation, 2026c) are designed for API tracing and kernel profiling, respectively.They both provide a GUI for exploring the results, as well as a low-level Python API for accessing the raw data.The CUDA binary utilities (NVIDIA Corporation, 2026a) provide command-line access to machine code (SASS or PTX (NVIDIA Corporation, 2026f)) and other information embedded in the binaries.However, while these tools allow raw data to be extracted, they do not themselves provide the infrastructure for effective programmatic analysis.

The Journal of Open Source SoftwareVol. 11(125)
University of Liège (BE)
Fonds De La Recherche Scientifique - FNRS
Openalex Percentile: Top 86%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.