matconvnet下的GPU编译笔记

主要步骤:

1.安装matconvnet 不同的版本的话其实对应不同的visual studio,这个要根据具体说明来做,然后按照官网上的编译

2.安装cuda和cudnn,下载的安装包去NVIDIA官网上去下载,先安装cuda

双击.exe文件就可以了,默认安装到C:\ProgramFiles\NVIDIA GPU Computing Toolkit目录下,也可以选择自定义安装到其他路径。

等待安装好之后,配置环境变量,右击我的电脑,选择高级系统设置->高级->环境变量,在系统变量中添加如下:

CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
CUDA_PATH_V7_5 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0CUDA_LIB_PATH = %CUDA_PATH%\lib\x64CUDA_BIN_PATH = %CUDA_PATH%\binCUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

之后,找到系统变量中的path,加入%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_BIN_PATH%;%CUDA_SDK_LIB_PATH%-----这一段有可能不需要做,可以直接跳过,安装的时候可能直接添加了

现在就可以验证是否正确安装了cuda了,打开cmd,输入nvcc -V

现在想查看一下自己的cuda版本和电脑GPU信息,可以利用deviceQuery.exe,在路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\demo_suite中,点击即可出现。


我遇到了.exe出现闪退的情况,解决方法是

在.exe文件同目录下新建一个txt文档,里面输入如下内容xx.exepause然后退出保存,把后缀txt改为bat然后运行,那个xx就是文件的名字。

然后打开.bat文件运行程序即可。(.bat文件命名随意)

 

----------------------安装cudnn

现在对应版本的cudnn,比如我的cuda是8.0,cudnn用的是7.0的,版本一定要配套兼容

在英伟达网站 https://developer.nvidia.com/rdp/cudnn-download 下载与cuda对应的库,需要注册一个账号
下载之后解压缩,将.h .lib 和.dll 文件分别拷贝到cuda的include, lib/x64, bin 文件夹

matconvnet安装GPU

mex -setup
mex -setup C++  # 配置VS2015作为C和C++的编译器
# 先编译matconvnet的Cpu版
vl_compilenn()   % 生成一系列mex文件,是之后卷积v1_nnconv等要用到的
%编译GPU版本
vl_compilenn('enableGpu', true, ...    
                'cudaRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0', ...   
                'cudaMethod', 'nvcc', 'enableCudnn', true, ...    
                'cudnnRoot', 'F:\matlab works\sunyi\matconvnet\cudnn');
run vl_setupnn
vl_testnn('gpu',true) # 这不时间比较久,慢慢等。
  • 编译的时候会出现的问题

1.25版本的MatConvNet中的vl_compilenn.m文件中在506行增加了这样的判断

if strcmp(arch, 'win64') && opts.enableCudnn

这要求&&符号前后都是逻辑值,所以在运行vl_compilenn函数中'enableCudnn'后面要跟true,而不是跟'true',即编译语句为:

否则会报Operands to the || and && operators must be convertible to logical scalar values的错误。 2017.11.30

 

 

vl_compilenn('enableGpu',true,'CudaRoot','/usr/local/cuda','cudaMethod','nvcc')

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

syvge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值