cuda+opencv的配置以及细节问题
2016-01-14 16:56
183 查看
本文转载部分已经获得作者的许可
/article/1933083.html
以上网址是配置的具体方法,不过在下面我还要添加一些常见问题以及注意事项。
显卡作为电脑硬件的重要的一部分,其升级和换代的速度特别快,就论其框架来说,常见的一般有特斯拉、费米、开普勒以及麦克斯韦架构,这些在本文中并不是主要内容,我们在这里说的是其中一个参数Compute
Capability,详情可见一下网址
https://developer.nvidia.com/cuda-gpus
下面我们以台式电脑gtx950m显卡为例来说明这个参数在配置过程中的重要性。
我们看到台式电脑gtx950m的Compute Capability是5.2,所以在cmake编译的过程中,我们一般会看到这个
是不是特别奇怪,居然没有5.2
这个时候我们就要这样修改,把5.2加上去
这样我们再继续编译。
为什么要这样做呢?
下面是我的个人观点可能不准确
这是因为GPUS一般包括许多不同的机器码和中间码,当你编译的opencv-cuda库中不包括你的显卡所对应的架构和汇编指令时,这是你的GPUS会选择自己去重新编译,这样大量的时间会被白白的浪费,于是你的程序无论是第一次还是多次运行速度都是特别慢。
另外,如果你的cmake编译opencv库成功但在vs编译出错的话,那么你肯能需要换一个版本的opencv库了,这可能是你的cuda与opencv不兼容。
/article/1933083.html
以上网址是配置的具体方法,不过在下面我还要添加一些常见问题以及注意事项。
显卡作为电脑硬件的重要的一部分,其升级和换代的速度特别快,就论其框架来说,常见的一般有特斯拉、费米、开普勒以及麦克斯韦架构,这些在本文中并不是主要内容,我们在这里说的是其中一个参数Compute
Capability,详情可见一下网址
https://developer.nvidia.com/cuda-gpus
下面我们以台式电脑gtx950m显卡为例来说明这个参数在配置过程中的重要性。
我们看到台式电脑gtx950m的Compute Capability是5.2,所以在cmake编译的过程中,我们一般会看到这个
是不是特别奇怪,居然没有5.2
这个时候我们就要这样修改,把5.2加上去
这样我们再继续编译。
为什么要这样做呢?
下面是我的个人观点可能不准确
这是因为GPUS一般包括许多不同的机器码和中间码,当你编译的opencv-cuda库中不包括你的显卡所对应的架构和汇编指令时,这是你的GPUS会选择自己去重新编译,这样大量的时间会被白白的浪费,于是你的程序无论是第一次还是多次运行速度都是特别慢。
另外,如果你的cmake编译opencv库成功但在vs编译出错的话,那么你肯能需要换一个版本的opencv库了,这可能是你的cuda与opencv不兼容。
相关文章推荐
- nginx location 配置
- python执行linux shell管道输出内容
- CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示
- shell 中数组的基本操作
- shell脚本+scp命令
- 13.webshell
- nginx root
- nginx 多域名实例
- Nginx fastcgi_param解释
- Tomcat中查看JVM内存使用情况
- Linux中Tomcat的安装和配置方法
- nginx 源码安装配置
- Windows安装多个Tomcat服务
- windows 环境下面nginx的安装与配置
- linux 文件查找
- Linux 下zip包的压缩与解压
- linux jdk的 rpm 方式安装
- 配置LVS + Keepalived高可用负载均衡集群之图文教程
- vm下 open suse 10 解决vi编辑器不能是使用退格键
- Linux细节 - 常用Linux下排查服务器性能命令