Skip to content

Commit d45fa0a

Browse files
authored
Merge pull request #272 from CVCUDA/feat/judavis/v0.16
feat: updating code for release v0.16.0
2 parents da51fc9 + 3284204 commit d45fa0a

File tree

668 files changed

+19824
-18220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

668 files changed

+19824
-18220
lines changed

.gitattributes

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,3 +22,9 @@
2222
*.a filter=lfs diff=lfs merge=lfs -text
2323
*.hdf5 filter=lfs diff=lfs merge=lfs -text
2424
*.pt filter=lfs diff=lfs merge=lfs -text
25+
docs/sphinx/content/DataLayout.svg filter=lfs diff=lfs merge=lfs -text
26+
docs/sphinx/content/TensorBatch.svg filter=lfs diff=lfs merge=lfs -text
27+
docs/sphinx/content/ImageBatchVarShape.svg filter=lfs diff=lfs merge=lfs -text
28+
docs/sphinx/content/ImageBatch.svg filter=lfs diff=lfs merge=lfs -text
29+
docs/sphinx/content/DataLayout_1D.svg filter=lfs diff=lfs merge=lfs -text
30+
docs/sphinx/content/DataLayout_3D_2D_1D.svg filter=lfs diff=lfs merge=lfs -text

.github/workflows/codeql.yml

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -51,7 +51,7 @@ jobs:
5151
sudo apt update -y && sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
5252
sudo apt update -y && sudo apt install -y --no-install-recommends \
5353
git git-lfs gcc-11 g++-11 ninja-build ccache libgtest-dev libgmock-dev \
54-
shellcheck curl doxygen python3 python3-pip python3-dev python3-setuptools \
54+
shellcheck curl doxygen python3 python3-pip python3-dev python3-distutils \
5555
texlive-latex-extra ghostscript graphviz \
5656
&& curl -L https://cmake.org/files/v3.20/cmake-3.20.1-linux-x86_64.tar.gz --output /tmp/cmake-3.20.1.tar.gz \
5757
&& tar -xzf /tmp/cmake-3.20.1.tar.gz -C /tmp/ && sudo cp -r /tmp/cmake-3.20.1-linux-x86_64/bin/ /usr/local/ \
@@ -62,7 +62,7 @@ jobs:
6262
name: Install Python Dependencies
6363
run: |
6464
sudo apt update -y && sudo apt install -y --no-install-recommends \
65-
python3 python3-pip python3-dev python3-setuptools doxygen && sudo rm -rf /var/lib/apt/lists/* \
65+
python3 python3-pip python3-dev python3-distutils doxygen && sudo rm -rf /var/lib/apt/lists/* \
6666
&& python3 -m pip install sphinx-rtd-theme sphinx breathe recommonmark graphviz \
6767
&& python3 -m pip install numpy==2.0.1 patchelf==0.17.2.1
6868
@@ -103,25 +103,3 @@ jobs:
103103
uses: github/codeql-action/analyze@v3
104104
with:
105105
category: "/language:${{matrix.language}}"
106-
107-
- if: matrix.language == 'c-cpp' && github.event_name == 'push'
108-
name: Build Docs and Clean up Sphinx Build Directory
109-
run: |
110-
./ci/build.sh debug build "-DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOCS=ON -DBUILD_PYTHON=ON -DPYTHON_VERSIONS=3.10" $*
111-
find build/docs/sphinx -name '*.doctree' -delete
112-
find build/docs/sphinx -name '*.map' -delete
113-
find build/docs/sphinx -name '*.pickle' -delete
114-
find build/docs/sphinx -name '*.inv' -delete
115-
find build/docs/sphinx -name '*.gz' -delete
116-
117-
- if: matrix.language == 'c-cpp' && github.event_name == 'push'
118-
name: Create .nojekyll file
119-
run: touch build/docs/sphinx/.nojekyll
120-
121-
- if: matrix.language == 'c-cpp' && github.event_name == 'push'
122-
name: Deploy to GitHub Pages
123-
uses: JamesIves/github-pages-deploy-action@v4
124-
with:
125-
folder: build/docs/sphinx
126-
branch: gh-pages
127-
clean: true

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,6 +20,7 @@
2020
/build_*/
2121
/install/
2222
/cvcuda-installer*/
23+
/.cache/
2324

2425
# Visual Studio Code
2526
# ------------------
@@ -48,7 +49,10 @@ ipython_config.py
4849

4950
# Documentation
5051
# -------------
52+
_c_api
53+
_cpp_api
5154
_c_cpp_api
55+
_python_api
5256
_cvcuda_api
5357

5458
# Samples

.pre-commit-config.yaml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
# See https://pre-commit.com for more information
17+
# See https://pre-commit.com/hooks.html for more hooks
18+
19+
default_stages:
20+
- merge-commit
21+
- commit
22+
- post-rewrite
23+
24+
repos:
25+
- repo: https://github.com/pre-commit/pre-commit-hooks
26+
rev: v4.3.0
27+
hooks:
28+
- id: check-merge-conflict
29+
- id: trailing-whitespace
30+
- id: end-of-file-fixer
31+
- id: mixed-line-ending
32+
args: ['--fix=lf']
33+
- id: check-executables-have-shebangs
34+
- id: check-shebang-scripts-are-executable
35+
- id: detect-private-key
36+
- id: check-added-large-files
37+
- id: check-case-conflict
38+
- id: destroyed-symlinks
39+
- id: check-yaml
40+
exclude: '.clang-format'
41+
42+
- repo: https://github.com/detailyang/pre-commit-shell
43+
rev: 1.0.5
44+
hooks:
45+
- id: shell-lint
46+
args: ['-x', '--severity=warning']
47+
48+
- repo: https://github.com/pre-commit/mirrors-clang-format
49+
rev: v14.0.6
50+
hooks:
51+
- id: clang-format
52+
53+
- repo: https://github.com/pryorda/dockerfilelint-precommit-hooks
54+
rev: v0.1.0
55+
hooks:
56+
- id: dockerfilelint
57+
58+
- repo: https://github.com/psf/black
59+
rev: 22.10.0
60+
hooks:
61+
- id: black
62+
63+
- repo: https://github.com/pycqa/flake8
64+
rev: 5.0.4
65+
hooks:
66+
- id: flake8
67+
args:
68+
- "--max-line-length=110"

3rdparty/nvbench

Submodule nvbench updated 243 files

CMakeLists.txt

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ endif()
2323

2424
project(cvcuda
2525
LANGUAGES C CXX
26-
VERSION 0.15.0
26+
VERSION 0.16.0
2727
DESCRIPTION "CUDA-accelerated Computer Vision algorithms"
2828
)
2929

@@ -45,13 +45,61 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
4545
set(CMAKE_INSTALL_PREFIX "/opt/nvidia/cvcuda${PROJECT_VERSION_MAJOR}" CACHE PATH "where cvcuda will be installed" FORCE)
4646
endif()
4747

48+
# Save command-line values before option() resets them
49+
set(_BUILD_TESTS_CPP_CMDLINE ${BUILD_TESTS_CPP})
50+
set(_BUILD_TESTS_WHEELS_CMDLINE ${BUILD_TESTS_WHEELS})
51+
set(_BUILD_TESTS_PYTHON_CMDLINE ${BUILD_TESTS_PYTHON})
52+
4853
# Options to configure the build tree =======
49-
option(BUILD_TESTS "Enable testsuite" OFF)
50-
option(BUILD_PYTHON "Build python bindings" OFF)
54+
option(BUILD_TESTS "Enable testsuite" ON)
55+
option(BUILD_TESTS_CPP "Build C++ tests" OFF)
56+
option(BUILD_TESTS_WHEELS "Generate test_wheels.sh script" OFF)
57+
option(BUILD_TESTS_PYTHON "Build Python tests" OFF)
58+
option(BUILD_PYTHON "Build python bindings" ON)
5159
option(BUILD_BENCH "Build benchmark" OFF)
5260
option(BUILD_DOCS "Build documentation" OFF)
5361
option(ENABLE_SANITIZER "Enabled sanitized build" OFF)
5462

63+
# BUILD_TESTS enables all test sub-options by default, but respects explicit overrides
64+
# Normalize command-line values to uppercase for proper boolean comparison
65+
string(TOUPPER "${_BUILD_TESTS_CPP_CMDLINE}" _BUILD_TESTS_CPP_CMDLINE_UPPER)
66+
string(TOUPPER "${_BUILD_TESTS_WHEELS_CMDLINE}" _BUILD_TESTS_WHEELS_CMDLINE_UPPER)
67+
string(TOUPPER "${_BUILD_TESTS_PYTHON_CMDLINE}" _BUILD_TESTS_PYTHON_CMDLINE_UPPER)
68+
69+
# Define patterns for CMake boolean values (supports both numeric and string forms)
70+
set(_CMAKE_BOOL_TRUE_PATTERN "^(1|ON|YES|TRUE|Y)$")
71+
set(_CMAKE_BOOL_FALSE_PATTERN "^(0|OFF|NO|FALSE|N)$")
72+
73+
if(BUILD_TESTS)
74+
# Enable sub-options unless explicitly set to a false value on command line
75+
if(NOT _BUILD_TESTS_CPP_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_FALSE_PATTERN}")
76+
set(BUILD_TESTS_CPP ON CACHE BOOL "Build C++ tests (enabled by BUILD_TESTS)" FORCE)
77+
endif()
78+
if(NOT _BUILD_TESTS_WHEELS_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_FALSE_PATTERN}")
79+
set(BUILD_TESTS_WHEELS ON CACHE BOOL "Generate test_wheels.sh (enabled by BUILD_TESTS)" FORCE)
80+
endif()
81+
if(NOT _BUILD_TESTS_PYTHON_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_FALSE_PATTERN}")
82+
set(BUILD_TESTS_PYTHON ON CACHE BOOL "Build Python tests (enabled by BUILD_TESTS)" FORCE)
83+
endif()
84+
else()
85+
# If BUILD_TESTS is OFF, disable all test sub-options unless explicitly set to a true value
86+
if(_BUILD_TESTS_CPP_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_TRUE_PATTERN}")
87+
set(BUILD_TESTS_CPP ON CACHE BOOL "Build C++ tests (explicitly enabled)" FORCE)
88+
else()
89+
set(BUILD_TESTS_CPP OFF CACHE BOOL "Build C++ tests (disabled by BUILD_TESTS=OFF)" FORCE)
90+
endif()
91+
if(_BUILD_TESTS_WHEELS_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_TRUE_PATTERN}")
92+
set(BUILD_TESTS_WHEELS ON CACHE BOOL "Generate test_wheels.sh (explicitly enabled)" FORCE)
93+
else()
94+
set(BUILD_TESTS_WHEELS OFF CACHE BOOL "Generate test_wheels.sh (disabled by BUILD_TESTS=OFF)" FORCE)
95+
endif()
96+
if(_BUILD_TESTS_PYTHON_CMDLINE_UPPER MATCHES "${_CMAKE_BOOL_TRUE_PATTERN}")
97+
set(BUILD_TESTS_PYTHON ON CACHE BOOL "Build Python tests (explicitly enabled)" FORCE)
98+
else()
99+
set(BUILD_TESTS_PYTHON OFF CACHE BOOL "Build Python tests (disabled by BUILD_TESTS=OFF)" FORCE)
100+
endif()
101+
endif()
102+
55103
# Configure build tree ======================
56104

57105
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" )
@@ -75,18 +123,14 @@ if(BUILD_PYTHON)
75123
include(BuildPython)
76124
endif()
77125

78-
if(BUILD_TESTS)
126+
if(BUILD_TESTS_CPP OR BUILD_TESTS_WHEELS OR BUILD_TESTS_PYTHON)
79127
add_subdirectory(tests)
80128
endif()
81129

82130
if(BUILD_DOCS)
83131
add_subdirectory(docs)
84132
endif()
85133

86-
if(BUILD_SAMPLES)
87-
add_subdirectory(samples)
88-
endif()
89-
90134
if(BUILD_BENCH)
91135
add_subdirectory(bench)
92136
endif()

CONTRIBUTING.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
33
[//]: # "SPDX-License-Identifier: Apache-2.0"
44
[//]: # ""
55
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
@@ -18,22 +18,8 @@
1818

1919
**Currently, CV-CUDA is not accepting outside contributions.**
2020

21-
Contributions to CV-CUDA fall into the following categories:
21+
To report a bug, request a new feature, or ask a general question, please file a [GitHub issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose).
2222

23-
1. To report a bug, request a new feature, or report a problem with documentation,
24-
please file an [issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose)
25-
describing the problem or new feature in detail. The CV-CUDA team evaluates
26-
and triages issues, and schedules them for a release. If you believe the issue
27-
needs priority attention, please comment on the issue to notify the team.
28-
1. To propose a new feature, please file a new feature request
29-
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). Describe the
30-
intended feature and discuss the design and implementation with the team and
31-
community. NOTE: Currently, CV-CUDA is not accepting
32-
outside contributions.
33-
1. To ask a general question, please sumbit a question
34-
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). If you need
35-
more context on a particular issue, please ask in a comment.
36-
37-
As contributors and maintainers to this project, you are expected to abide by
23+
Contributors and maintainers to this project are expected to abide by
3824
CV-CUDA's contributor code of conduct. More information can be found at:
3925
[Contributor Code of Conduct](https://github.com/CVCUDA/CV-CUDA/tree/main/CODE_OF_CONDUCT.md).

LICENSE.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
2+
[//]: # "SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved."
33
[//]: # "SPDX-License-Identifier: Apache-2.0"
44
[//]: # ""
55
[//]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
@@ -102,7 +102,3 @@ To apply the Apache License to your work, attach the following boilerplate notic
102102
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
103103
See the License for the specific language governing permissions and
104104
limitations under the License.
105-
106-
107-
-----------------------------------------------
108-
See [THIRD_PARTY_LICENSES](THIRD_PARTY_LICENSES.md) for licenses of software redistributed as part of CV-CUDA's code or binary packages.

0 commit comments

Comments
 (0)