Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

GUnit

GUnit is a persistent and asynchronous kernel testing framework for heterogeneous computing. It transforms repeated host-driven GPU kernel testing into a continuous host-device pipeline, reducing launch and synchronization overhead while enabling fine-grained exploration of kernel behavior.

Key Ideas

  • PerKernel keeps a device-side testing harness resident across test cases and repeatedly invokes the target kernel without relaunching it for every input.
  • Asynchronous Testing Engine decouples input generation, device execution, and feedback processing so that host and device work can overlap.
  • VConfig Rewriting virtualizes CUDA launch configurations, allowing each test case to exercise a different logical grid and block configuration under a fixed physical launch.
  • SIMT-Aware Kernel Feedback distinguishes kernel executions through device-side behaviors such as warp participation and memory-access patterns.

GUnit is implemented on top of LibAFL and uses an LLVM-based compilation pipeline to transform and instrument CUDA kernels.

Source Release

We are preparing the complete source release, including the persistent runtime, asynchronous testing engine, LLVM transformation passes, and scripts for reproducing the evaluation. The code and documentation will be published in this repository shortly.

Paper

GUnit: A Persistent and Asynchronous Kernel Testing Framework for Heterogeneous Computing

The paper and artifact instructions will be linked here when they are available.

License

License information will accompany the complete source release.

About

GUnit: A persistent and asynchronous kernel testing framework for heterogeneous computing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors