Ask Your Question

The function/feature is not implemented (The called functionality is disabled for current build or platform) in throw_no_cuda

asked 2019-10-22 05:03:54 -0500

friendCYQ gravatar image

updated 2019-10-22 06:28:20 -0500

berak gravatar image

Error: The function/feature is not implemented (The called functionality is disabled for current build or platform) in throw_no_cuda, file D:\OpenCV\opencv\sources\modules\core\include\opencv2/core/private.cuda.hpp, line 113 I used "Visual Studio 2017 (v15)" - "CUDA 10.1" - "OpenCV 3.4.7". I turned CUDA,opencv_contrib,OPENCV_ENABLE_NONFREE in CMAKE, and i find this error when i use class "stitcher" help me please!! what should i do ?

cmake out:

Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18362.
Detected processor: AMD64
Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.7")
Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "3.2")
libjpeg-turbo: VERSION = 2.0.2, BUILD = opencv-3.4.7-libjpeg-turbo
Looking for Mfapi.h
Looking for Mfapi.h - found
found Intel IPP (ICV version): 2019.0.0 [2019.0.0 Gold]
at: D:/001/3rdparty/ippicv/ippicv_win/icv
found Intel IPP Integration Wrappers sources: 2019.0.0
at: D:/001/3rdparty/ippicv/ippicv_win/iw
CUDA detected: 10.1
CUDA NVCC target flags: -gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-D_FORCE_INLINES
Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
Could NOT find BLAS (missing: BLAS_LIBRARIES) 
LAPACK requires BLAS
A library with LAPACK API not found. Please specify library location.
VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
OpenCV Python: during development append to PYTHONPATH: D:/001/python_loader
Caffe:   NO
Protobuf:   NO
Glog:   NO
freetype2:   NO
harfbuzz:    NO
Module opencv_ovis disabled because OGRE3D was not found
No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
Failed to find installed gflags CMake configuration, searching for gflags build directories exported with CMake.
Failed to find gflags - Failed to find an installed/exported CMake configuration for gflags, will perform search for installed gflags components.
Failed to find gflags - Could not find gflags include directory, set GFLAGS_INCLUDE_DIR to directory containing gflags/gflags.h
Failed to find glog - Could not find glog include directory, set GLOG_INCLUDE_DIR to directory containing glog/logging.h
Module opencv_sfm disabled because the following dependencies are not found: Eigen Glog/Gflags
Tesseract:   NO
xfeatures2d/boostdesc: Download: boostdesc_bgm.i
xfeatures2d/boostdesc: Download: boostdesc_bgm_bi.i
xfeatures2d/boostdesc: Download: boostdesc_bgm_hd.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_064.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_128.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_256.i
xfeatures2d/boostdesc: Download: boostdesc_lbgm.i
xfeatures2d/vgg: Download: vgg_generated_48.i
xfeatures2d/vgg: Download: vgg_generated_64.i
xfeatures2d/vgg: Download: vgg_generated_80.i
xfeatures2d/vgg: Download: vgg_generated_120.i
data: Download: face_landmark_model.dat

General configuration for OpenCV 3.4 ...
edit retag flag offensive close merge delete


opencv / cuda / compiler / os version ? (we need anything useful)

you must have built the opencv(_contrib) libs before. do you still have the cmake output ? that would be quite valuable here (please edit the question and append it there, it's quite long)

berak gravatar imageberak ( 2019-10-22 05:27:06 -0500 )edit

I used "Visual Studio 2017 (v15)" - "CUDA 10.1" - "OpenCV 3.4.7". I turned CUDA,opencv_contrib,OPENCV_ENABLE_NONFREE in CMAKE

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 05:51:01 -0500 )edit

and i find this error when i use class "stitcher"

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 05:56:15 -0500 )edit

OPENCV_ENABLE_NONFREE is unrelated to anything CUDA. (that's for SIFT, SURF and the like)

but again, can we see your cmake output ?

berak gravatar imageberak ( 2019-10-22 05:56:58 -0500 )edit

your error means, that it did not successfully pick up cuda while compiling the opencv libs already.

again, cmake output required now !

berak gravatar imageberak ( 2019-10-22 06:04:19 -0500 )edit

I shut down cmake,and now i can't find the cmake out...

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 06:06:35 -0500 )edit

just run it again

berak gravatar imageberak ( 2019-10-22 06:07:55 -0500 )edit

Do you want cmake out after generate?

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 06:12:29 -0500 )edit

try if you can, else configure might do already

berak gravatar imageberak ( 2019-10-22 06:13:56 -0500 )edit

it's too much.. OpenCL: YES (NVD3D11) Include path: D:/OpenCV/opencv/sources/3rdparty/include/opencl/1.2 Link libraries: Dynamic load

Python (for build): NO

ant: NO JNI: NO Java wrappers: NO Java tests: NO

Install to: D:/001/install

Configuring done Generating done

i'd want to know which part are you interested?

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 06:19:03 -0500 )edit

1 answer

Sort by » oldest newest most voted

answered 2019-10-22 07:41:25 -0500

updated 2019-10-22 08:35:32 -0500

The stitching algorithm is reliant on NPP graphcut implementation which was removed after CUDA 7.5.

From your CMake output you are compiling with CUDA 10.1 so the feature is disabled. To enable you can try compiling with CUDA 7.5 and Visual Studio 2013, but as I haven't tried this myself I cannot guarantee that it will work.

Note: If you want to execute the code on a GPU newer than Maxwell (GTX 10xx, GTX 16xx, RTX 20xx etc.) ensure that you generate PTX code for compatibility with devices which didn't exist when CUDA 7.5 was released. E.g. include


edit flag offensive delete link more


My gpu is gtx1050ti, so now I should reinstall cuda7.5 and vs2013?but i'm not sure if i can use cuda7.5

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 08:42:18 -0500 )edit

You can try, but as I said I cannot guarantee that it will work. When you have more than one CUDA install it is best to pass CUDA_TOOLKIT_ROOT_DIR to cmake to ensure it picks up the correct one, e.g. either pass the below to cmake on the command line

-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5"

or press Add Entry in the GUI.

cudawarped gravatar imagecudawarped ( 2019-10-22 08:52:13 -0500 )edit

my cuda driver is cuda10.1 and i do not know how to install cuda7.5 in windows, maybe it's too old?

friendCYQ gravatar imagefriendCYQ ( 2019-10-22 20:47:51 -0500 )edit

You should be able to install CUDA 7.5 without the driver by unticking it in the installer.

cudawarped gravatar imagecudawarped ( 2019-10-23 05:48:28 -0500 )edit

I'm not sure how to do it. The driver is 9.1 when the system was installed, and then I used geforce experience to upgrade to 10.0.

friendCYQ gravatar imagefriendCYQ ( 2019-10-23 05:58:06 -0500 )edit

Download the 7.5 installer. Deselect the everything except the CUDA toolit when the options to install the toolkit, geforce experiance etc are presented to you. I am not sure what you mean by the 9.1 and 10.0 driver those are sdk versions.

cudawarped gravatar imagecudawarped ( 2019-10-23 06:15:45 -0500 )edit

Now the drivers are 440.97, and I don't know where to download the old version

friendCYQ gravatar imagefriendCYQ ( 2019-10-23 06:34:43 -0500 )edit

The oldest version supported by gtx1050ti is 391.24

friendCYQ gravatar imagefriendCYQ ( 2019-10-23 06:38:53 -0500 )edit

You don't want to downgrade the driver you want to install a version of the CUDA toolkit which supports the graphcut algorithm. This can be achieved by installing the CUDA 7.5 toolkit and only ticking cuda toolkit during the installation process. Then when you use CMake to generate the solution files for OpenCV make sure you set -DCUDA_TOOLKIT_ROOT_DIR as I described earlier.

cudawarped gravatar imagecudawarped ( 2019-10-23 07:00:03 -0500 )edit

Question Tools

1 follower


Asked: 2019-10-22 05:03:54 -0500

Seen: 604 times

Last updated: Oct 22 '19