NVIDIA cuOpt adds multi-GPU LP solver
NVIDIA has added mPDLP, a multi-GPU linear programming solver, to cuOpt, targeting supply chain and energy planning problems that take too long or exceed the memory of a single GPU.
NVIDIA has introduced mPDLP (Multi-GPU Primal-Dual hybrid gradient for Linear Programming), a new solver in its cuOpt decision optimization library. It splits large LP problems across GPUs connected by NVLink.
PDLP is a first-order method, and its main cost is sparse matrix-vector multiplication (SpMV), which is limited by memory bandwidth. Spreading that work across several GPUs multiplies the bandwidth available. Communication runs over NVLink, NVSwitch and NCCL. NVIDIA says cuOpt on a single GPU already runs more than 10x faster than CPU solvers on large LPs, but the biggest planning problems can still take hours or not fit in one GPU's memory.
According to NVIDIA, mPDLP:
- runs up to 4.2x faster end-to-end than single-GPU PDLP
- uses up to 6x less peak memory per GPU, with LPs capped at 2.1 billion nonzeros
- solves zib03, a widely used benchmark from 2008 with more than 104 million nonzeros, nearly 10x faster than a year ago
NVIDIA also reports 3–5x speedups on partner workloads:
- Kinaxis: globally constrained supply and production planning
- PSR: large-scale energy-system capacity-expansion models
NVIDIA compares mPDLP with D-PDLP, an earlier multi-GPU version of PDLP that splits the constraint matrix into 2D blocks and computes each SpMV independently. mPDLP instead takes advantage of the dependency between consecutive SpMVs, though the available material cuts off before explaining how. The comparison doesn't go entirely NVIDIA's way: by its own benchmarks, mPDLP is slower than D-PDLP on small instances and on three ultra-large ones.
Hardware configurations, GPU counts and availability details were not in the material reviewed.