使用 OpenCv 2.4.10 + Cuda 7.5 + W10 不支持 GPU [英] No GPU Support using OpenCv 2.4.10 + Cuda 7.5 + W10

查看:83
本文介绍了使用 OpenCv 2.4.10 + Cuda 7.5 + W10 不支持 GPU的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用以下方法启动和运行 GPU:

  • OpenCv 2.4.10
  • Visual Studio 2013
  • Cuda 工具包 7.5(已测试并运行的 cuda 示例)
  • Windows 10 x64
  • 采用 NVIDIA GEFORCE GTX 860M 的联想 Y50

我使用 CMake 编译 OpenCv,WITH_CUDA=ON,然后通过打开 OpenCv.sln 安装库并构建 ALLBUILD 和 INSTALL 项目.

将我的项目配置设置为:

  • VC++ 目录

  • VC++ Directories

  • 包括目录:
    • C:\Program Files\NVIDIA GPU 计算工具包\CUDA\v7.5\include
    • C:\OpenCv\opencv\build\install\include(包含编译的库)
    • C:\OpenCv\opencv\build\include

    Linker-general-附加库

    Linker-general-Additional libraries

    • C:\OpenCv\opencv\build\x64\vc12\lib
    • C:\OpenCv\opencv\build\install\x64\vc12\lib

    链接器输入附加依赖

    • opencv_calib3d2410d.lib
    • opencv_contrib2410d.lib
    • opencv_core2410d.lib
    • opencv_features2d2410d.lib
    • opencv_flann2410d.lib
    • opencv_gpu2410d.lib
    • opencv_highgui2410d.lib
    • opencv_imgproc2410d.lib
    • opencv_legacy2410d.lib
    • opencv_ml2410d.lib
    • opencv_nonfree2410d.lib
    • opencv_objdetect2410d.lib
    • opencv_ocl2410d.lib
    • opencv_photo2410d.lib
    • opencv_stitching2410d.lib
    • opencv_superres2410d.lib
    • opencv_ts2410d.lib
    • opencv_video2410d.lib
    • opencv_videostab2410d.lib

    我的环境变量:路径= C:\Program Files\NVIDIA GPU Computing;Toolkit\CUDA\v7.5;C:\OpenCv\opencv\build\install\x64\vc12\bin;C:\OpenCv\opencv\build\x64\vc12\垃圾箱

    My environment variables: Path= C:\Program Files\NVIDIA GPU Computing;Toolkit\CUDA\v7.5;C:\OpenCv\opencv\build\install\x64\vc12\bin;C:\OpenCv\opencv\build\x64\vc12\bin

    测试代码:

       #include "opencv2\opencv.hpp"
       #include "opencv2\gpu\gpu.hpp"
    
        using namespace cv::gpu;
        using namespace std;
    
        int main() {
            {
            setDevice(0); 
            int gpu = getCudaEnabledDeviceCount();
            cout << gpu ;
            system("pause");
            return 0;
            }
    
    }in
    

    但是 setDevice 抛出

    But setDevice throws

    没有 GPU 支持(该库编译时没有 CUDA 支持)EmptyDeviceInfoFuncTable::setDevice, 文件c:\builds\2_4_PackSlave-win64-vc12-shared\opencv\dynamicuda\include\opencv2/dynamiccuda/dynamicuda.hpp.第 84 行

    no GPU support (The library is compiled without CUDA support) in EmptyDeviceInfoFuncTable::setDevice, file c:\builds\2_4_PackSlave-win64-vc12-shared\opencv\dynamicuda\include\opencv2/dynamiccuda/dynamicuda.hpp. line 84

    如果我评论 setDevice(0) 仍然没有检测到 gpu,getCudaEnabledDeviceCount 返回 0.

    and if i comment setDevice(0) the gpu is still not detected, getCudaEnabledDeviceCount returns 0.

    推荐答案

    问题是 Opencv 2.4.10 支持 CUDA 4.2 而我的显卡只兼容 CUDA 6.5 和 7.5 ,我通过安装 OpenCV 3.0.0 解决了

    The problem is that Opencv 2.4.10 supports CUDA 4.2 and my video card is compatible only with CUDA 6.5 and 7.5 , I solved by installing OpenCV 3.0.0

    这篇关于使用 OpenCv 2.4.10 + Cuda 7.5 + W10 不支持 GPU的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆