← Latest papers
📊 statistics

cuRegOT: A GPU-Accelerated Solver for Entropic-Regularized Optimal Transport

The paper introduces cuRegOT, a high-performance GPU-accelerated solver for entropic-regularized optimal transport that overcomes the limitations of existing methods through novel algorithmic and architectural optimizations, achieving significant speedups and rigorous convergence guarantees across diverse benchmarks.

Original authors: Yixuan Qiu

Published 2026-05-12
📖 5 min read🧠 Deep dive

Original authors: Yixuan Qiu

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are a logistics manager trying to move a pile of sand from one location (the "source") to another (the "destination"). Your goal is to move every grain of sand with the least amount of fuel (cost) possible. In the world of math and machine learning, this is called Optimal Transport. It's a powerful tool used to compare different groups of data, like matching faces in photos or translating languages.

However, solving this "sand-moving" puzzle for massive amounts of data is incredibly slow and computationally expensive. It's like trying to move a mountain grain by grain using a single shovel.

The Problem: The Old Shovel vs. The New Truck

For years, the standard way to solve this was using an algorithm called Sinkhorn. Think of Sinkhorn as a very organized, parallelized team of workers. They can all work at the same time (which is great for modern computer chips called GPUs), but they are a bit stubborn. In difficult situations, they take a very long time to finish the job, shuffling back and forth slowly.

Recently, mathematicians developed a smarter, faster method called SPLR (a type of Quasi-Newton method). This is like a high-tech truck that knows the terrain and can take shortcuts. It converges to the solution much faster. But there's a catch: This "truck" has a heavy, slow engine part that only works on the old-fashioned CPU (the computer's main brain), not the fast GPU (the graphics card). Specifically, it needs to perform a complex "map analysis" (symbolic analysis) before it can move. This analysis is done one step at a time, leaving the powerful GPU sitting idle and waiting.

The Solution: cuRegOT

The authors of this paper built cuRegOT, a new software tool designed to make this "smart truck" run at full speed on modern GPUs. They didn't just write code; they redesigned the workflow using three clever tricks:

1. The "Reuse the Map" Strategy (Amortized Symbolic Analysis)

The Analogy: Imagine you are navigating a city. Every time you take a step, the old method forces you to stop, pull out a map, and redraw the entire route from scratch before moving again. This is slow.
The cuRegOT Fix: The authors realized that the "map" (the structure of the problem) doesn't change much from one step to the next. So, they decided to draw the map once every 10 steps and just reuse it for the next 9 steps, only updating the specific numbers (like traffic conditions) while keeping the road layout the same.
The Result: This stops the CPU from being a bottleneck. The GPU gets to keep working without waiting for the CPU to redraw the map every single time.

2. The "Side Quest" Strategy (Collaborative CPU-GPU)

The Analogy: While the CPU is busy drawing that map (which takes time), the GPU is just sitting there, twiddling its thumbs.
The cuRegOT Fix: The authors set up a system where, while the CPU is drawing the map, the GPU doesn't wait. Instead, it starts doing a different, simpler type of calculation (using the older Sinkhorn method) in the background. It's like a worker who, while waiting for the blueprint, starts prepping the materials.
The Result: When the CPU finishes the map, the GPU has already prepared a "backup plan." The system then quickly checks which plan is better and picks the winner. This hides the waiting time and speeds up the whole process.

3. The "All-in-One" Tool (Fused Kernel)

The Analogy: Imagine a factory worker who has to walk to the warehouse to get a screw, walk back to the table to use it, walk back to get a nut, and so on. This walking back and forth (memory access) wastes a lot of time.
The cuRegOT Fix: They built a custom "super-tool" (a fused CUDA kernel) that grabs the screw, the nut, and the instructions all at once, does the work, and puts the result away in a single trip.
The Result: This drastically reduces the time spent moving data around, which is usually the biggest speed killer on GPUs.

The Proof: Does it Work?

The authors tested cuRegOT against the best existing tools (like those in the POT and OTT-JAX packages) using:

  • Synthetic Data: Made-up problems with different shapes and sizes.
  • Real Data: Images from the famous CIFAR-10 dataset (like distinguishing between pictures of cats and dogs).

The Findings:

  • Speed: cuRegOT consistently solved the problems much faster than the others.
  • Precision: The advantage grew even larger when the task required a very high level of accuracy (getting the solution "just right").
  • Scale: As the problems got bigger (more data points), cuRegOT pulled further ahead, proving it scales well for massive tasks.
  • Safety: They mathematically proved that their shortcuts (reusing maps and running side quests) don't break the math. The solution is guaranteed to converge to the correct answer, just like the original, slower method.

Summary

cuRegOT is a high-performance engine for solving complex data-matching puzzles. It takes a smart but CPU-heavy algorithm and optimizes it to run smoothly on powerful GPUs by reusing work, keeping the GPU busy while the CPU thinks, and streamlining data movement. The result is a tool that solves large-scale problems significantly faster than current industry standards.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →