Skip to content

Instantly share code, notes, and snippets.

@bfolkens
Created May 2, 2019 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bfolkens/02bab187ab7356b59a1a9ea44338dd78 to your computer and use it in GitHub Desktop.
Save bfolkens/02bab187ab7356b59a1a9ea44338dd78 to your computer and use it in GitHub Desktop.
Fix OpenCV issue with FindCUDA.make
index 678b450ab..c2a58bd00 100644
--- a/cmake/FindCUDA.cmake
+++ b/cmake/FindCUDA.cmake
@@ -283,7 +283,38 @@
# CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives lib (core).
# Only available for CUDA version 5.5+.
# CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives lib (image processing).
-# Only available for CUDA version 5.5+.
+# Only available for CUDA version 5.5+ and was split up
+# in CUDA version 8.0+ and doesn't exist in combined
+# form in CUDA version 9.0+.
+# CUDA_nppial_LIBRARY -- NVIDIA Performance Primatives library (arithmetic and
+# logical operation functions). Only available for CUDA
+# version 8.0+.
+# CUDA_nppicc_LIBRARY -- NVIDIA Performance Primatives library (color conversion
+# and sampling functions). Only available for CUDA version
+# 8.0+.
+# CUDA_nppicom_LIBRARY -- NVIDIA Performance Primatives library (JPEG compression
+# and decompression functions). Only available for CUDA
+# version 8.0+.
+# CUDA_nppidei_LIBRARY -- NVIDIA Performance Primatives library (data exchange and
+# initialization functions). Only available for CUDA
+# version 8.0+.
+# CUDA_nppif_LIBRARY -- NVIDIA Performance Primatives library (filtering and
+# computer vision functions). Only available for CUDA
+# version 8.0+.
+# CUDA_nppig_LIBRARY -- NVIDIA Performance Primatives library (geometry
+# transformation functions). Only available for CUDA
+# version 8.0+.
+# CUDA_nppim_LIBRARY -- NVIDIA Performance Primatives library (morphological
+# operation functions). Only available for CUDA version
+# 8.0+.
+# CUDA_nppist_LIBRARY -- NVIDIA Performance Primatives library (statistics and
+# linear transform). Only available for CUDA version
+# 8.0+.
+# CUDA_nppisu_LIBRARY -- NVIDIA Performance Primatives library (memory support
+# functions). Only available for CUDA version 8.0+.
+# CUDA_nppitc_LIBRARY -- NVIDIA Performance Primatives library (threshold and
+# compare operation functions). Only available for CUDA
+# version 8.0+.
# CUDA_npps_LIBRARY -- NVIDIA Performance Primitives lib (signal processing).
# Only available for CUDA version 5.5+.
# CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
@@ -522,6 +553,16 @@ macro(cuda_unset_include_and_libraries)
unset(CUDA_npp_LIBRARY CACHE)
unset(CUDA_nppc_LIBRARY CACHE)
unset(CUDA_nppi_LIBRARY CACHE)
+ unset(CUDA_nppial_LIBRARY CACHE)
+ unset(CUDA_nppicc_LIBRARY CACHE)
+ unset(CUDA_nppicom_LIBRARY CACHE)
+ unset(CUDA_nppidei_LIBRARY CACHE)
+ unset(CUDA_nppif_LIBRARY CACHE)
+ unset(CUDA_nppig_LIBRARY CACHE)
+ unset(CUDA_nppim_LIBRARY CACHE)
+ unset(CUDA_nppist_LIBRARY CACHE)
+ unset(CUDA_nppisu_LIBRARY CACHE)
+ unset(CUDA_nppitc_LIBRARY CACHE)
unset(CUDA_npps_LIBRARY CACHE)
unset(CUDA_nvcuvenc_LIBRARY CACHE)
unset(CUDA_nvcuvid_LIBRARY CACHE)
@@ -787,7 +828,22 @@ if(NOT CUDA_VERSION VERSION_LESS "3.2")
find_cuda_helper_libs(nvcuvid)
endif()
endif()
-if(CUDA_VERSION VERSION_GREATER "5.0")
+if(CUDA_VERSION VERSION_GREATER "7.5")
+ # In CUDA 8.0 NPP was splitted onto 12 separate libraries.
+ find_cuda_helper_libs(nppc)
+ find_cuda_helper_libs(nppial)
+ find_cuda_helper_libs(nppicc)
+ find_cuda_helper_libs(nppicom)
+ find_cuda_helper_libs(nppidei)
+ find_cuda_helper_libs(nppif)
+ find_cuda_helper_libs(nppig)
+ find_cuda_helper_libs(nppim)
+ find_cuda_helper_libs(nppist)
+ find_cuda_helper_libs(nppisu)
+ find_cuda_helper_libs(nppitc)
+ find_cuda_helper_libs(npps)
+ set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")
+elseif(CUDA_VERSION VERSION_GREATER "5.0")
# In CUDA 5.5 NPP was splitted onto 3 separate libraries.
find_cuda_helper_libs(nppc)
find_cuda_helper_libs(nppi)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment