What Irregularity Costs: CUDA C++, Rust, and Triton

Jimmc4141 pts0 comments

[2608.08287] What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload

Skip to main content

Search arXiv

Press Enter to search · Advanced search

-->

Computer Science > Computer Vision and Pattern Recognition

arXiv:2608.08287 (cs)

[Submitted on 8 Aug 2026]

Title:What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload

Authors:Petr Korolev (Spacial Intelligence Labs)<br>View a PDF of the paper titled What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload, by Petr Korolev (Spacial Intelligence Labs)

View PDF<br>HTML (experimental)

Abstract:GPU language comparisons are almost always run on tiled dense linear algebra, where every toolchain is good and the differences are small. We implement the same hash-blocked TSDF fusion kernel in CUDA C++, in Rust through NVIDIA's cuda-oxide, and in Triton, and measure it on a workload with the opposite character: an open-addressed hash table with compare-exchange insertion, data-dependent per-lane probe depth, and contended scatter.

The result is a split. On the regular stage, which walks a truncation band and accumulates, all three languages land within a small factor of each other. On the irregular stage, which probes and inserts, Rust stays close to hand-written CUDA C++ while Triton is more than an order of magnitude slower. Language choice is nearly free on the work that is usually benchmarked and expensive on the work that is not.

We attribute both gaps to specific things the languages cannot express, not to ratios. Triton's cost follows from a probe loop that must run to a compile-time bound and from tl.atomic_cas taking no mask, which forces a scratch structure with no counterpart in CUDA. Rust's cost was invisible in every instruction count: its kernel issues fewer instructions, fewer compare-exchanges and fewer registers at identical occupancy, yet was slower. Hardware counters located it in L1 residency. A GPU-scope atomic load must be coherent across SMs, no NVIDIA L1 is, so the type-correct way to read a shared location bypasses the cache on every access.

Triton's bounded probe is also a correctness problem for fusion: at load factors an ordinary depth trajectory reaches, it silently discards blocks and the reconstruction loses patches of surface with nothing reported. We also report a defect found and fixed in cuda-oxide itself, now merged upstream: its scoped atomic load and store could not be called at all in the build mode that produces real kernels.

Comments:<br>23 pages, 5 figures, 4 tables. Includes a correctness result for TSDF fusion implementations: at hash load factors reached by ordinary depth trajectories, the Triton implementation silently discards blocks. Code, raw measurement CSVs and an interactive viewer: this https URL

Subjects:

Computer Vision and Pattern Recognition (cs.CV); Distributed, Parallel, and Cluster Computing (cs.DC); Performance (cs.PF); Programming Languages (cs.PL)

ACM classes:<br>D.3.4; I.4.8; C.1.2

Cite as:<br>arXiv:2608.08287 [cs.CV]

(or<br>arXiv:2608.08287v1 [cs.CV] for this version)

https://doi.org/10.48550/arXiv.2608.08287

Focus to learn more

arXiv-issued DOI via DataCite (pending registration)

Submission history<br>From: Petr Korolev [view email]<br>[v1]<br>Sat, 8 Aug 2026 18:39:16 UTC (2,526 KB)

Full-text links:<br>Access Paper:

View a PDF of the paper titled What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload, by Petr Korolev (Spacial Intelligence Labs)<br>View PDF<br>HTML (experimental)<br>TeX Source

view license

Current browse context:

cs.CV

next >

new<br>recent<br>| 2026-08

Change to browse by:

cs<br>cs.DC<br>cs.PF<br>cs.PL

References & Citations

NASA ADS<br>Google Scholar

Semantic Scholar

export BibTeX citation<br>Loading...

BibTeX formatted citation

&times;

loading...

Data provided by:

Bookmark

Bibliographic Tools

Bibliographic and Citation Tools

Bibliographic Explorer Toggle

Bibliographic Explorer (What is the Explorer?)

Connected Papers Toggle

Connected Papers (What is Connected Papers?)

Litmaps Toggle

Litmaps (What is Litmaps?)

scite.ai Toggle

scite Smart Citations (What are Smart Citations?)

Code, Data, Media

Code, Data and Media Associated with this Article

alphaXiv Toggle

alphaXiv (What is alphaXiv?)

Links to Code Toggle

CatalyzeX Code Finder for Papers (What is CatalyzeX?)

DagsHub Toggle

DagsHub (What is DagsHub?)

GotitPub Toggle

Gotit.pub (What is GotitPub?)

Huggingface Toggle

Hugging Face (What is Huggingface?)

ScienceCast Toggle

ScienceCast (What is ScienceCast?)

Demos

Demos

Replicate Toggle

Replicate (What is Replicate?)

Spaces Toggle

Hugging Face Spaces (What is Spaces?)

Spaces Toggle

TXYZ.AI (What is TXYZ.AI?)

Related Papers

Recommenders and Search Tools

Link to Influence Flower

Influence Flower (What are Influence Flowers?)

Core recommender toggle

CORE Recommender (What is CORE?)

Author

Venue

Institution

Topic

About arXivLabs

arXivLabs: experimental projects...

toggle cuda triton rust hash arxiv

Related Articles