{"slug": "what-irregularity-costs-cuda-c-rust-and-triton", "title": "What Irregularity Costs: CUDA C++, Rust, and Triton", "summary": "A new study comparing CUDA C++, Rust via NVIDIA's cuda-oxide, and Triton on a hash-blocked TSDF fusion kernel found that Triton is more than an order of magnitude slower than hand-written CUDA C++ on the irregular stage, while Rust remains close to CUDA C++. The authors attribute Triton's slowdown to a compile-time-bounded probe loop and a missing mask in tl.atomic_cas, and Rust's slowdown to L1 cache bypass due to GPU-scope atomic loads. The study also reports a defect in cuda-oxide that was fixed and merged upstream.", "body_md": "# Computer Science > Computer Vision and Pattern Recognition\n\n[Submitted on 8 Aug 2026]\n\n# Title:What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload\n\n[View PDF](/pdf/2608.08287)\n\n[HTML (experimental)](https://arxiv.org/html/2608.08287v1)\n\nAbstract: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.\n\nThe 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.\n\nWe 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.\n\nTriton'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.\n\n### Current browse context:\n\ncs.CV\n\n### References & Citations\n\nLoading...\n\n# Bibliographic and Citation Tools\n\nBibliographic Explorer\n\n*(*[What is the Explorer?](https://info.arxiv.org/labs/showcase.html#arxiv-bibliographic-explorer))\nConnected Papers\n\n*(*[What is Connected Papers?](https://www.connectedpapers.com/about))\nLitmaps\n\n*(*[What is Litmaps?](https://www.litmaps.co/))\nscite Smart Citations\n\n*(*[What are Smart Citations?](https://www.scite.ai/))# Code, Data and Media Associated with this Article\n\nalphaXiv\n\n*(*[What is alphaXiv?](https://alphaxiv.org/))\nCatalyzeX Code Finder for Papers\n\n*(*[What is CatalyzeX?](https://www.catalyzex.com))\nDagsHub\n\n*(*[What is DagsHub?](https://dagshub.com/))\nGotit.pub\n\n*(*[What is GotitPub?](http://gotit.pub/faq))\nHugging Face\n\n*(*[What is Huggingface?](https://huggingface.co/huggingface))\nScienceCast\n\n*(*[What is ScienceCast?](https://sciencecast.org/welcome))# Demos\n\n# Recommenders and Search Tools\n\nInfluence Flower\n\n*(*[What are Influence Flowers?](https://influencemap.cmlab.dev/))\nCORE Recommender\n\n*(*[What is CORE?](https://core.ac.uk/services/recommender))# arXivLabs: experimental projects with community collaborators\n\narXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.\n\nBoth individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.\n\nHave an idea for a project that will add value for arXiv's community? [ Learn more about arXivLabs](https://info.arxiv.org/labs/index.html).", "url": "https://wpnews.pro/news/what-irregularity-costs-cuda-c-rust-and-triton", "canonical_source": "https://arxiv.org/abs/2608.08287", "published_at": "2026-08-11 19:23:03+00:00", "updated_at": "2026-08-11 19:43:12.162582+00:00", "lang": "en", "topics": ["machine-learning", "developer-tools"], "entities": ["NVIDIA", "cuda-oxide", "Triton", "CUDA C++", "Rust"], "alternates": {"html": "https://wpnews.pro/news/what-irregularity-costs-cuda-c-rust-and-triton", "markdown": "https://wpnews.pro/news/what-irregularity-costs-cuda-c-rust-and-triton.md", "text": "https://wpnews.pro/news/what-irregularity-costs-cuda-c-rust-and-triton.txt", "jsonld": "https://wpnews.pro/news/what-irregularity-costs-cuda-c-rust-and-triton.jsonld"}}