Skip to content

Commit 53b3520

Browse files
feat: patch to v0.13.1: add QNX support (#227)
1 parent 2a73733 commit 53b3520

File tree

9 files changed

+98
-12
lines changed

9 files changed

+98
-12
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 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");
@@ -23,7 +23,7 @@ endif()
2323

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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
[![License](https://img.shields.io/badge/License-Apache_2.0-yellogreen.svg)](https://opensource.org/licenses/Apache-2.0)
2020

21-
![Version](https://img.shields.io/badge/Version-v0.13.0--beta-blue)
21+
![Version](https://img.shields.io/badge/Version-v0.13.1--beta-blue)
2222

2323
![Platform](https://img.shields.io/badge/Platform-linux--64_%7C_win--64_wsl2%7C_aarch64-gray)
2424

cmake/PrintConfig.cmake

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");
@@ -67,6 +67,12 @@ else()
6767
message(STATUS " ENABLE_TEGRA : off")
6868
endif()
6969

70+
if(ENABLE_QNX)
71+
message(STATUS " ENABLE_QNX : ON")
72+
else()
73+
message(STATUS " ENABLE_QNX : off")
74+
endif()
75+
7076
message(STATUS " Compilers used in public API header compatibility tests:")
7177
if(PUBLIC_API_COMPILERS)
7278
foreach(comp ${PUBLIC_API_COMPILERS})

docs/sphinx/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ Copyright
123123
:maxdepth: 1
124124
:hidden:
125125

126+
v0.13.1-beta <relnotes/v0.13.1-beta>
126127
v0.13.0-beta <relnotes/v0.13.0-beta>
127128
v0.12.0-beta <relnotes/v0.12.0-beta>
128129
v0.11.0-beta <relnotes/v0.11.0-beta>

docs/sphinx/relnotes/v0.13.1-beta.rst

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
..
2+
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
.. _v0.13.1-beta:
18+
19+
v0.13.1-beta
20+
============
21+
22+
Release Highlights
23+
------------------
24+
25+
CV-CUDA v0.13.1 includes the following changes:​
26+
27+
* **New Features**:​
28+
29+
* Added support for QNX compilation of NVCV
30+
31+
32+
Compatibility and Known Limitations
33+
-----------------------------------
34+
35+
For the full list, see main README on `CV-CUDA GitHub <https://github.com/CVCUDA/CV-CUDA>`_.
36+
37+
License
38+
-------
39+
40+
CV-CUDA is licensed under the `Apache 2.0 <https://github.com/CVCUDA/CV-CUDA/blob/main/LICENSE.md>`_ license.
41+
42+
Resources
43+
---------
44+
45+
1. `CV-CUDA GitHub <https://github.com/CVCUDA/CV-CUDA>`_
46+
2. `CV-CUDA Increasing Throughput and Reducing Costs for AI-Based Computer Vision with CV-CUDA <https://developer.nvidia.com/blog/increasing-throughput-and-reducing-costs-for-computer-vision-with-cv-cuda/>`_
47+
3. `NVIDIA Announces Microsoft, Tencent, Baidu Adopting CV-CUDA for Computer Vision AI <https://blogs.nvidia.com/blog/2023/03/21/cv-cuda-ai-computer-vision/>`_
48+
4. `CV-CUDA helps Tencent Cloud audio and video PaaS platform achieve full-process GPU acceleration for video enhancement AI <https://developer.nvidia.com/zh-cn/blog/cv-cuda-high-performance-image-processing/>`_
49+
50+
Acknowledgements
51+
----------------
52+
53+
CV-CUDA is developed jointly by NVIDIA and the ByteDance Machine Learning team.

src/nvcv/cmake/ConfigBuildTree.cmake

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-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");
@@ -57,6 +57,13 @@ option(EXPOSE_CODE "Expose in resulting binaries parts of our code" ${DEFAULT_EX
5757
option(WARNINGS_AS_ERRORS "Treat compilation warnings as errors" OFF)
5858
cmake_dependent_option(ENABLE_TEGRA "Enable tegra support" ON "PLATFORM_IS_ARM64" OFF)
5959
cmake_dependent_option(ENABLE_COMPAT_OLD_GLIBC "Generates binaries that work with old distros, with old glibc" ON "NOT ENABLE_TEGRA" OFF)
60+
cmake_dependent_option(ENABLE_QNX "Enable QNX support" OFF "PLATFORM_IS_ARM64" OFF)
61+
62+
if(ENABLE_QNX)
63+
set(PLATFORM_IS_QNX ON)
64+
else()
65+
set(PLATFORM_IS_QNX OFF)
66+
endif()
6067

6168
# Needed to get cuda version
6269
find_package(CUDAToolkit REQUIRED)
@@ -94,11 +101,19 @@ function(setup_dso target version)
94101
# Put each function and it's data into separate linker sections
95102
target_compile_options(${target} PRIVATE -ffunction-sections -fdata-sections)
96103

97-
# Link with static C/C++ libs ==========================
98-
target_link_libraries(${target} PRIVATE
99-
-static-libstdc++
100-
-static-libgcc
101-
)
104+
if(PLATFORM_IS_QNX)
105+
# For QNX, explicitly link libc++ as the C++ Standard Library and Math library
106+
target_link_libraries(${target} PRIVATE
107+
c++
108+
m
109+
)
110+
else()
111+
# Link with static C/C++ libs
112+
target_link_libraries(${target} PRIVATE
113+
-static-libstdc++
114+
-static-libgcc
115+
)
116+
endif()
102117

103118
# Configure symbol visibility ---------------------------------------------
104119
set_target_properties(${target} PROPERTIES VISIBILITY_INLINES_HIDDEN on

src/nvcv/src/priv/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,10 @@ target_link_libraries(nvcv_types_priv
5353
nvcv_types_headers
5454
nvcv_util_sanitizer
5555
CUDA::cudart_static
56-
-lrt
5756
)
57+
58+
if(NOT PLATFORM_IS_QNX)
59+
# Realtime extensions library don't need to be linked on QNX.
60+
target_link_libraries(nvcv_types_priv
61+
PUBLIC -lrt)
62+
endif()

src/nvcv/util/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,14 @@ target_link_libraries(nvcv_util
194194
nvcv_types_headers
195195
CUDA::cudart_static
196196
nvcv_util_compat
197-
-lrt
198197
)
199198

199+
if(NOT PLATFORM_IS_QNX)
200+
# Realtime extensions library don't need to be linked on QNX.
201+
target_link_libraries(nvcv_util
202+
PUBLIC -lrt)
203+
endif()
204+
200205
target_compile_definitions(nvcv_util
201206
PUBLIC
202207
# Must always be enabled so that we can check assertion

src/nvcv/util/CheckError.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
#include <cstdarg>
2323
#include <regex>
24+
#include <sstream>
2425

2526
namespace nvcv::util {
2627

0 commit comments

Comments
 (0)