Skip to content

Releases: CVCUDA/CV-CUDA

CV-CUDA Release v0.7.0

26 Apr 22:53
11d40a4
Compare
Choose a tag to compare

CV-CUDA v0.7.0 Release Notes

CV-CUDA 0.7.0 introduces performance and support enhancements, along with bug fixes and new features.

Full Changelog: v0.6.0-beta...v0.7.0-beta

Release Highlights

CV-CUDA v0.7.0 includes the following improvements:

New Features:

  • Optimized Python bindings: near-zero overhead compared to C++ calls​
  • Added masking option to Label operator: conditional island removal
  • Added IGX Orin support (with dGPU, Ampere or Ada RTX6000)​
  • Added support of signed 32bits output datatype for Label operator​

Removed Operator:​

  • Removed Find Contours operator for troubleshooting of major limitations

Bug Fixes:

  • Fixed constraint on installation directory for Python tests​: tar test packages can now be used from any directory​

Compatibility and Known Limitations

See main README on CV-CUDA GitHub.

License

CV-CUDA is licensed under the Apache 2.0 license.

Resources

  1. CV-CUDA GitHub
  2. CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA
  3. NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI
  4. CV-CUDA helps Tencent Cloud audio and video PaaS platform achieve full-process GPU acceleration for video enhancement AI

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

CV-CUDA Release v0.6.0

15 Mar 18:39
0c6dde3
Compare
Choose a tag to compare

CV-CUDA 0.6.0 Release Notes

CV-CUDA 0.6.0 is a comprehensive update introducing new packaging and documentation enhancements, along with bug fixes and new features.

Release Highlights

CV-CUDA v0.6.0 includes significant improvements:

New Operator:

  • HQResize: Advanced resize operator supporting 2D and 3D data, tensors, tensor batches, and varshape image batches (2D only). Supports nearest neighbor, linear, cubic, Gaussian and Lanczos interpolation, with optional antialiasing when down-sampling.

New Features:

  • Standalone Python Wheels, including tooling and documentation to generate them. Prebuilt binaries for selected configurations.

  • Homogenized package naming

  • Improved documentation of hardware/software compatibility, build and test tutorials

  • Added Python Operator benchmarking application

  • Samples updated to new codec libraries, PyNvVideoCodec and NvImageCodec

  • Support of rank 2 tensors in MedianBlur

  • Additional tests for various operators

Bug Fixes:

  • Fix name clashes with NVTX

  • Fix workspace memory allocation of complex filters

  • Fix memory fault in MinAreaRect

Compatibility and Known Limitations

See main README on CV-CUDA GitHub.

License

CV-CUDA is licensed under the Apache 2.0 license.

Resources

  1. CV-CUDA GitHub
  2. CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA
  3. NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI
  4. CV-CUDA helps Tencent Cloud audio and video PaaS platform achieve full-process GPU acceleration for video enhancement AI

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

CV-CUDA Release v0.5.0

15 Dec 19:29
6b35015
Compare
Choose a tag to compare

CV-CUDA 0.5.0 Release Notes

CV-CUDA 0.5.0 is a major release of the library providing multiple new operators, features, and fixes to multiple customer-reported issues.

Release Highlights

CV-CUDA v0.5.0 includes the following key changes:

  • New Operators:

    • FindHomography: Calculates a perspective transform from four pairs of the corresponding points
    • Label: Labels connected regions in an image using 4-way connectivity for foreground and 8-way for background pixels
    • PairwiseMatcher: Matches features computed separately (e.g. via the SIFT operator) in two images using the brute force method
    • Stack: Concatenates two input tensors into a single output tensor
  • New Features:

    • Added TensorBatch in C++ and Python, a container type that can hold a list of non-uniformly shaped tensors
    • Added Workspace in C++ and Python, an abstraction of memory and asynchronous resources for CV-CUDA operators
    • Added better color format support in nvcv_types
    • New sample application for the Label operator
    • JetPack 5.1.2 support for L4T (Jetson Orin, L4T 35.4.1, CUDA 11.4)
    • Enhanced documentation
  • Bug Fixes:

    • Resolved memory leak in NvBlurBoxes
    • Fixed segmentation fault issue in Python with certain imports
    • Corrected typestr format issue in __cuda_array_interface__
    • Addressed occasional hanging in OpBoxBlur on RGBA images

Compatibility

  • GPU Compute Capability: 7+.x
  • Ubuntu x86_64: 20.04, 22.04
  • CUDA Toolkit: 11.7+ (11.2+ for library build and run)
  • L4T: 35.4.1, JetPack 5.1.2 aarch64
  • GCC: 11.0+ (9.x and 10.x for APIs with pre-built binary)
  • Python: 3.8, 3.10

Known Issues/Limitations

  • For GCC versions lower than 11.0, C++17 support needs to be enabled when compiling CV-CUDA.

License

CV-CUDA is licensed under the Apache 2.0 license.

Resources

  1. CV-CUDA GitHub
  2. CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA
  3. NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI
  4. CV-CUDA helps Tencent Cloud audio and video PaaS platform achieve full-process GPU acceleration for video enhancement AI

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

CV-CUDA Release v0.4.0

01 Sep 04:23
Compare
Choose a tag to compare

CV-CUDA 0.4.0 is a major release of the library providing multiple new operators, Jetson Orin support, and updated API documentation.

Release Highlights

CV-CUDA v0.4.0 includes the following key features:

  • 14 new image processing and computer vision operators
    • Advanced Color Format Conversion
    • Brightness_Contrast
    • Color_Twist
    • FindContours
    • GaussianNoise
    • Histogram
    • Histogram Equalizer
    • Inpainting
    • MinAreaRect
    • MinMaxLoc
    • Morphology (Open, Close)
    • On-screen display (Polyline, Point, Line, Text, Rotated Rectangle, Segmented Mask)
    • RandomResizedCrop
    • SIFT
  • Updated sample application
    • Streamed Triton-based Video Segmentation Sample using CV-CUDA and VPF (Video Processing Framework) optimized for performance with video decode/encode on server-side
  • Added Jetson Orin support for core library
  • Updated API documentation

Compatibility

CV-CUDA has been tested on the following compute stack:

  • GPU Compute Capability: 7+.x
  • Ubuntu x86_64: 20.04, 22.04
  • CUDA Toolkit: 11.7+ (11.2+ for library build and run)
  • GCC: 11.0+ (9.0 and 10.0 for APIs, with pre-built binary and run)
  • Python: 3.7, 3.8, 3.10

Refer to documentation of the sample applications for dependencies.

Known Issues/Limitations

  • Samples fails for encoding surfaces on T4 with CUDA 11.8 and display driver 520. Suggested workaround is to upgrade to a newer driver 525+.
  • For GCC versions lower than 11.0, C++17 support needs to be enabled when compiling CV-CUDA.

License

CV-CUDA operates under the Apache 2.0 license.

Resources

  1. CV-CUDA GitHub
  2. CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA
  3. NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI
  4. CV-CUDA helps Tencent Cloud audio and video PaaS platform achieve full-process GPU acceleration for video enhancement AI

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

CV-CUDA Release v0.3.1

30 Jun 21:39
Compare
Choose a tag to compare

The v0.3.1 release provides several bug fixes along with documentation updates and performance improvements.

Release Highlights

  • Added documentation for Python APIs
  • Added CentOS 7 build support with GLIBC >= 2.17
  • Improved APIs with C handler reference counting, C++ move semantics, and VarShape iterators
  • Removed legacy interfaces typedefs: IImage, ITensor, and IImageBatch
  • Handler Manager no longer requires resource requirements object
  • Moderate performance improvement for Non-Maximal Suppression (NMS) operator

Bug Fixes

  • Addressed QUESTION #23 RuntimeError: cudaErrorIllegalAddress: an illegal memory access was encountered
  • Addressed BUG #72 RuntimeError: pybind11_object_dealloc(): Tried to deallocate unregistered instance!
  • Addressed BUG #77 Memory sanitizer detects multiple problems when running nvcv_test_types_python
  • Fixed Pillow Resize operator bug in clip8_lookups

Known Issues

  • Morphology Operator: poor benchmarking performance when iteration parameter > 1
    • Workaround: Set iteration parameter == 1 and run operator multiple times
    • Fix expected in the next release

CV-CUDA Release v0.3.0

01 May 08:44
Compare
Choose a tag to compare

CV-CUDA 0.3.0 is the next open-source release of the project.

Release Highlights

CV-CUDA 0.3.0 includes the following key features:

  • 6 new computer vision operators
    • Adaptive Thresholding, Bounding Box, Bounding Box Blur, Non-Maximum Suppression, Remap, and Thresholding.
  • Additional compiler support for GCC 9+ (unit tests build with GCC 11+)
  • Compatibility with CUDA Toolkit 11.2+ (unit tests build with Toolkit 11.7+)
  • New sample applications
    • Object Detection - This pipeline is based on Peoplenet Tao model which detects Persons, Bags and Face - Supports TensorRT Inference Backend
    • Segmentation with NVIDIA Triton Backend - Uses VPF decoder/encoder on client side and runs segmentation pipeline on Triton server
  • Improved testing

Compatibility

CV-CUDA has been tested on the following compute stack

  • Ubuntu x86_64: 18.04, 20.04, 22.04
  • CUDA Toolkit: 11.7+ (11.2+ for library build and run)
  • GCC: 11.0+ (9.0 for library build and run)
  • Python: 3.7, 3.8, 3.10
    Refer to documentation of the sample applications for dependencies.

Known Issues/Limitations

  • Open compilation issue with CUDA Toolkit 11.2 + GCC 10.3

License

CV-CUDA operates under the Apache 2.0 license.

Resources

  1. CV-CUDA GitHub
  2. CV-CUDA Corporate Blog Announcement
  3. CV-CUDA High Performance Image Process Acceleration Library TechBlog

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

CV-CUDA Release v0.2.1

10 Mar 19:42
Compare
Choose a tag to compare

General

  • Added DLPack interop support to Python
  • Added CV-CUDA build package for various Python versions
  • Updated documentation to include NVIDIA VPF update
  • Downgraded C++ version required from 20 to 17
  • Made public headers compatible with C++11
  • Changed default CUDA stream in Python to be 0
  • Removed library build dependency on OpenSSL
  • Relaxed nvcv::Tensor bit restrictions on strides
  • Updated Segmentation sample app with NVIDIA VPF and Joint Bilateral Filter

New Operators

  • Joint Bilateral Filter

Improved Testing

  • Full operator test coverage for interleaved (HWC) and planar (CHW) tensors
  • Removed Numba dependency on tests

Bug Fixes

  • Addressed BUG #25 TypeError: as_tensor(): incompatible function arguments. The following argument types are supported
  • Addressed BUG #26 libdl-2.17_stub.so: file format not recognized; treating as linker script
  • Addressed BUG #28 cannot find -lcvcuda
  • Fixed memory leak from exception thrown by constructor
  • Fixed CMake code generation for header compatibility tests
  • Fixed reformated from CHW to NHWC error
  • Fixed NVCV_ASSERT_STATUS macro failing to compile prompt added when testing for exception
  • Tensor shapes must be exported as tuples, not lists, in Python
  • cudaIllegalMemoryAddress prompt added in Python tests when GPU is under load
  • cudaMallocs prompt added in pipelines driven by Python incur performance penalty

CV-CUDA Release v0.2.1.1

20 Mar 06:47
Compare
Choose a tag to compare
Pre-release

Patch Release

  • Added GCC-9 Support
  • Built and Tested with CUDA Toolkit 11.4
  • Updated instructions for NVIDIA VPF: See below
apt install -y \
          libavfilter-dev \
          libavformat-dev \
          libavcodec-dev \
          libswresample-dev \
          libavutil-dev\
          wget \
          cmake \
          build-essential \
          git \
          libnvidia-encode-530 \
          libnvidia-decode-530
git clone https://github.com/NVIDIA/VideoProcessingFramework.git
cd VideoProcessingFramework
pip3 install .
cd src/PytorchNvCodec
pip3 install .

CV-CUDA Release v0.2.0

22 Dec 00:53
Compare
Choose a tag to compare
Pre-release

CV-CUDA 0.2.0 is the first open-source release of the project.

Release Highlights

CV-CUDA 0.2.0 includes the following key features:

  • Core components including Image and Tensor with batch support

  • 25 operators with variable shape batch support

    • Average Blur, Bilateral, Filter, Center Crop, ChannelReorder, Composite, 2D Convolution, ConvertTo, Copy Make Border, Custom Crop, CvtColor, Erase, Flip, Gaussian, Laplacian, MedianBlur, Morphology, Normalize, Pad and Stack, Pillow Resize, Reformat, Resize, Rotate, WarpAffine, WarpPerspective.
  • C/C++ and Python APIs

  • Tensor interoperability with PyTorch-GPU and image interoperability with PyTorch-GPU, Pillow-CPU, OpenCV-CPU

  • Sample applications

    • Object Classification (ResNet50) pipeline - C++ & Python

      • For C++ sample - TensorRT for inference
      • For Python sample - PyTorch for inference
    • Semantic Segmentation pipeline - Python. This sample supports two inference backends

      • TensorRT Python API
      • PyTorch
    • Resize and Custom Crop - C++

  • Documentation for C/C++ API

  • Packages available in .deb, .tar, and .whl formats

Compatibility

CV-CUDA has been tested on the following compute stack

  • Ubuntu x86_64: 18.04, 20.04, 22.04
  • CUDA driver: 11.x (Not tested on 12.0)
  • GCC: 11.0 and later
  • Python: 3.7, 3.8, 3.9, 3.10

Refer to documentation of the sample applications for dependencies.

Known Issues/Limitations

  • Performance optimization of variable shape versions of the operators will be addressed in the next release.
  • Improvements to APIs of some operators are expected in the next release.
  • Morphology operator - performance will be optimized in the next release
  • Documentation on Python APIs will be available in release 0.2.1-alpha (01/29/2023)
  • Documentation improvements to C++ API will be addressed in the next release
  • Semantic segmentation sample (Python) with videos, accelerated decoding using NVIDIA VPF is expected in the next the release.

License

CV-CUDA operates under the Apache-2.0 license.

Resources

  1. CV-CUDA Corporate Blog Announcement
  2. CV-CUDA High Performance Image Process Acceleration Library TechBlog

Acknowledgements

CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.