race-check

Detect data races and deadlocks in Sirius workloads with ThreadSanitizer and Compute Sanitizer.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/kindofluke/albatross-data --skill race-check-kindofluke
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: race-check
Source: https://github.com/kindofluke/albatross-data/tree/main/.vibe/skills/race-check
Command: npx skills add https://github.com/kindofluke/albatross-data --skill race-check-kindofluke

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Detect and diagnose data races, deadlocks, and non-deterministic behavior in Sirius workloads using ThreadSanitizer (CPU) and NVIDIA Compute Sanitizer memcheck (GPU).

Core Features & Use Cases

  • CPU race detection with ThreadSanitizer to identify data races, lock-order inversions, and thread leaks in Sirius code.
  • GPU memory race detection using Compute Sanitizer to surface misuses of shared memory and synchronization across CUDA kernels.
  • Use Case: When nondeterministic results appear in a SQL query or unit test, run race-check to locate underlying concurrency issues.

Quick Start

Run the race-check workflow on a reproduction case to reveal race conditions and guide fixes.

Frequently Asked Questions about race-check

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect data races causing nondeterministic behavior in SQL queries or unit tests?

To detect data races causing nondeterministic behavior, run a workflow using ThreadSanitizer for CPU threads and NVIDIA Compute Sanitizer to validate GPU memory races across CUDA kernels.

What is the best way to diagnose GPU memory races and synchronization issues in CUDA kernels?

The best way to diagnose GPU memory races is using NVIDIA Compute Sanitizer memcheck, which surfaces misuses of shared memory and synchronization issues across CUDA kernels during workload execution.

Do I need to build with clang-debug to use ThreadSanitizer for CPU race detection?

Yes, you must build with clang-debug to enable ThreadSanitizer for CPU race detection. You also need to disable AddressSanitizer before executing the pre-screen checks and analysis workflow.

Can I detect deadlocks and lock-order inversions alongside data races in Sirius workloads?

Yes, you can detect deadlocks and lock-order inversions alongside data races. ThreadSanitizer identifies these concurrency issues and thread leaks during the CPU race analysis phase.

What types of nondeterministic behavior can I diagnose when race detection fails to find issues?

When CPU race detection fails, you can diagnose additional nondeterministic behavior by validating GPU memory races with Compute Sanitizer to check for shared memory misuses across CUDA kernels.

Why does my Sirius workload require disabling ASan before running race detection?

Disabling ASan is required because AddressSanitizer conflicts with ThreadSanitizer instrumentation. You must disable ASan and build with clang-debug to properly enable TSAN for race detection.