The engineering behind inference.Contact ↗
Batch & Release/Inference

NVIDIA AdaptGrow Cuts SymNMF Memory to 4n² for Million-Instrument Clustering

NVIDIA's AdaptGrow solver reduces SymNMF peak storage from 20n² to 4n² bytes, fitting 100,000 instruments on one GB200 GPU and scaling to one million across 64 GPUs, with auto-configured optimization and structural-break detection.

NVIDIA AdaptGrow Cuts SymNMF Memory to 4n² for Million-Instrument Clustering
Image: NVIDIA ↗

NVIDIA has released AdaptGrow, a GPU-accelerated SymNMF solver that reduces peak memory usage from approximately 20 n² to 4 n² bytes, enabling clustering of about 100,000 financial instruments on a single GB200 GPU. The solver outputs hard cluster labels, soft factor loadings, and structural-break signals from rolling correlation and tail-pair dependence matrices (TPDM). For larger problems, the implementation row-shards the dependence matrix and communicates O(n k) data via NCCL, scaling to one million instruments across 64 GB200 GPUs on 16 nodes.

Memory-Efficient Formulation

The key to the memory reduction is a trace-based SymNMF formulation that eliminates intermediate n×n matrices, achieving the 4 n²-byte peak storage. A dense FP32 dependence matrix for 100,000 instruments requires about 40 GB, while one million instruments would need roughly 4 TB without this optimization. The reduced-memory approach fits the 100,000-instrument case on a single GB200 GPU, and the distributed version uses NCCL all-gather for S H products and all-reduce for gradients.

Auto-Configured Optimization

AdaptGrow auto-configures from the matrix eigenspectrum, selecting full-batch AdaGrad when there is a clean spectral gap and block-stochastic SVRG for flatter spectra. The batch-fraction seed (phi) is derived from the post-rank eigenvalue gap; phi ≥ 1 selects full gradient, otherwise block-sampled SVRG. The empirical threshold for the post-rank gap ratio γₖ₊₁ is set to 5 in the experiments. The rank k is chosen from the clearest separation between signal eigenvalues and the noise floor and kept fixed across windows. Each rolling window is factored independently with a fixed-seed initialization, no warm-start.

Performance and Detection

For the 100,000-instrument test distributed across four GB200 GPUs, AdaptGrow converged in 13.0 seconds on correlation and 12.4 seconds on TPDM (FP32, three seeds). For one million instruments across 64 GB200 GPUs, full-batch AdaGrad factorized correlation in about 2 minutes, while AdaptGrow factorized TPDM in about 4 minutes. The synthetic data used a planted rank of k=24, identified by an eigenvalue gap in the leading spectrum.

Across 250 rolling windows (approximately one trading year), ARI stability tracking with a self-calibrated 3σ control limit detects planted membership changes. TPDM reveals co-crash events that ordinary correlation misses in the same experiment. Spherical k-means provides a lower-cost hard-clustering baseline for well-separated sectors, while SymNMF retains graded factor loadings when sector boundaries are ambiguous or the spectrum collapses toward a dominant factor.

Implementation and Deployment

PyTorch dispatches dominant SH matrix multiplications to cuBLAS, cuSOLVER handles spectral probing, and cuDF processes optional Parquet ingestion on GPU. The environment is packaged in an NVIDIA NGC PyTorch container with cudf-cu13. A companion Jupyter notebook (clustering_through_time.ipynb) reproduces the full pipeline and results. The workflow can be deployed on NVIDIA Brev or on a self-hosted GPU using the SymNMF-factors repository. The same solver interface works from a single GPU to multi-node clusters without code changes, simplifying scaling for inference engineers who need to serve models on varying hardware.

Sources & references

NVIDIA: GPU-Accelerated Clustering for Financial Instruments at Scale ↗Source consulted: 2026-10-15

Privacy choices

We remember your answer in this browser for 180 days. Come back here whenever you want to change it.

EssentialSaves your answer in this browser. No cookies, no third parties.Always active