v0.17.0-beta
Release Highlights
CV-CUDA v0.17.0-beta includes the following changes:
New Features and Enhancements:
Added the
JpegCompressionDistortionoperator, a self-contained GPU simulation of JPEG compression artifacts (full-range JFIF YCbCr, 4:2:0 chroma subsampling, per-8x8-block DCT quantization; ported from NVIDIA DALI, no codec dependency) with per-image or per-batch quality.Added the
AdjustContrast,AdjustHue,AdjustSaturation,AdjustSharpness,AutoContrast,CLAHE(Contrast Limited Adaptive Histogram Equalization),Invert,Posterize, andSolarizeoperators.Added native planar (
NCHW/CHW) support across the public image operator catalog, subject to each operator’s documented input type, dimensionality, channel, format, and auxiliary-input limitations.Added tensor input support to
GammaContrastand by-value parameter paths toBrightnessContrast,GammaContrast,GaussianNoise, andNormalize, avoiding temporary device parameter tensors and host-to-device copies.Added
NVCVRoundMode(cvcuda.Roundin Python), with nearest and truncate modes for integral output conversion inConvertToand the scalarGammaContrastpath.Extended the Python API with
Stream.wait_stream(), NumPyfloat16interoperability, single-dimension and emptyTensorLayoutvalues, and hashableTensorLayoutandTypeobjects.Added always-on NVTX ranges to public C and Python operator submissions for improved Nsight profiling visibility.
Expanded Python operator samples and documentation, and revamped the Docker build and development images. Source builds no longer use Git submodules.
Performance Improvements:
Improved performance across more than 50 operators. 1.8x average speedups (H100).
Reduced Python wrapper overhead in
ResourceGuardwith batched sync/hold and cached pybind11 reverse casts.Reduced binary and package sizes with size-optimized CUDA fatbinary compression when built with CUDA 12.8 or later.
Reduced x86_64 package sizes by removing blanket SM86 and SM89 code generation while retaining performance-sensitive operator cubins and conservative coverage for inconclusive or post-freeze cases.
Bug Fixes:
Fixed correctness and robustness issues across operators:
Composite,Erase,FindHomography,GammaContrast,GaussianNoise,Histogram,HistogramEq,HQResize,Inpaint,PillowResize,RandomResizedCrop,ResizeCropConvertReformat,Rotate, andWarpAffine/WarpPerspective.Fixed cubic interpolation boundary conditions in
Resizeand the shared cubic paths used byRandomResizedCrop, and added 1-channel (grayscale/Y8) support toResizeCropConvertReformat(issue #285).Fixed multi-GPU workspace and cache handling, CUDA Array Interface and DLPack stream synchronization, device restoration during
Streamdestruction, and memory growth in theas_imagecache (issue #258).Strengthened input validation and memory safety across operators, returning clear errors instead of aborting or launching invalid CUDA work. Also fixed
ResourceGuarderror paths that could terminate the Python process.Fixed text rendering backend issues and added dedicated unit coverage for the STB text backend.
Corrected multi-stream Python test synchronization (community contribution PR #288 by Daniel Ching).
Compatibility Changes:
Dropped official support for Python 3.9.
C++ operator wrapper classes are now move-only; copying an operator wrapper no longer compiles.
The C
cvcudaConvertToSubmitfunction now requires an explicitNVCVRoundModeargument. C++ and Python callers retain nearest rounding as the default; existing C binaries using this entry point must be rebuilt.Public NVCV allocator callbacks and resource user-pointer APIs now use the opaque
NVCVResourceContext,NVCVMemoryBuffer, andNVCVUserPointertypes instead ofvoid *. Custom allocators and direct C/C++ callers may require signature updates or explicit casts.Added
CVCUDA_AARCH64_JETSONfor Jetson Orin source builds; default aarch64 source builds target SBSA.
Compatibility and Known Limitations
For full details, see the main README’s compatibility table and known limitations.
License
CV-CUDA is licensed under the Apache 2.0 license.
Resources
Optimizing Microsoft Bing Visual Search with NVIDIA Accelerated Libraries
Accelerating AI Pipelines: Boosting Visual Search Efficiency
Optimize Short-Form Video Processing Toward the Speed of Light
CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA
NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI
Acknowledgements
CV-CUDA originated as a collaborative effort between NVIDIA and the ByteDance Machine Learning team.