NVIDIAMichelle HortonAnnouncement
Run High-Performance Core Math at Scale with NVIDIA nvmath-python
Summary
NVIDIA released nvmath-python v1.0 to give Python users direct access to CUDA-X math libraries without requiring low-level C or C++ interfaces. The library acts as an abstraction layer over GPU engines like cuFFT and cuBLASLt, CPU backends like NVPL and Intel MKL, and distributed libraries such as cuBLASMp. It interfaces directly with NumPy, CuPy, and PyTorch tensors, structuring routines into generic interfaces for broad interoperability and specialized advanced modules for hardware-specific optimizations. Users can define custom sparse formats with Universal Sparse Tensors or invoke compiled device APIs directly inside custom numba-cuda kernels. Built-in logging captures execution space decisions and flags potentially expensive memory transfers across host and device environments.
Context
Scientific computing workflows in Python often require high-performance CUDA-X math acceleration across CPUs, GPUs, and distributed clusters without depending on low-level C or C++ interfaces or enduring complex native dependency installations.
Approach / What changed
NVIDIA released nvmath-python v1.0 as a Pythonic abstraction layer over CUDA and NVPL math libraries. The library categorizes operations into generic and advanced APIs, interoperates with NumPy, CuPy, and PyTorch arrays, infers optimal memory and execution spaces, and supports fusing low-arithmetic-intensity device APIs within custom numba-cuda kernels.
Takeaways
nvmath-python exposes CUDA-X and NVPL libraries across CPUs, GPUs, and distributed clusters while directly accepting and returning NumPy, CuPy, and PyTorch arrays.
APIs are separated into generic multitools that prioritize broad compatibility across execution spaces and specialized advanced submodules that deliver hardware-tuned composite operations.
Low-arithmetic-intensity operations can be fused by invoking compiled nvmath-python device APIs, such as Philox RNG or direct solvers, directly inside custom numba-cuda kernels.
Source and freshness
- Source
- developer.nvidia.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.