Hey everyone! I’m porting what I consider a SOTA CPU Sobol generator from finance/HPC work to CUDA. Even at this early stage, it’s beating cuRANDDx on NVIDIA hardware.
For 65,536 points × 32 dimensions on a Tesla T4, SofL takes 8.75 µs versus 20.40 µs for fresh cuRANDDx: 2.33× faster. Against cuRANDDx with reusable prepared state, the gain is 2.79×. We also tested 60 million points in one dimension and saw 2.25× / 2.66×.
To expose generator cost, both sides feed the same fused consumer and write only small checksums—no giant intermediate Sobol array to make both kernels look equally fast at the memory limit. They generate the same Joe–Kuo Sobol32 sequence, and exact-output checks pass.
The T4 binary and reproducible comparator are here: GitHub - Pableric/sofl-sobol-cuda-evaluation: Cuda sobol testing · GitHub
Could someone sanity-check our cuRANDDx setup? Is there a stronger intended device-side configuration we should compare against? And how often are people using fused Sobol/QMC on GPUs? I’d love to hear where this could be useful.