Matlab编译 matconvnet GPU版本-GPU版本:

时间:2024-10-29 10:35:55

错误使用 vl_nnconv
The option name is not a string (argument number 5)

问题一:

vl_compilenn>search_cuda_devkit
Could not find a valid NVCC executable\n

搜索for v

添加自己的CUDA版本

for v = {'5.5', '6.0', '6.5', '7.0', '7.5', '8.0', '8.5', '9.0', '9.5', '10.0','11.3'}

问题二:

‘-DNDEBUG’: expected a number

搜索nvcc_compile函数,利用下面代码进行替换

function nvcc_compile(opts, src, tgt, flags)
% --------------------------------------------------------------------
mybase=flags.base;
mybase(3)={'-O3'};
if check_deps(opts, tgt, src), return ; end
nvcc_path = fullfile(opts.cudaRoot, 'bin', 'nvcc');
nvcc_cmd = sprintf('"%s" -c -o "%s" "%s" %s ', ...
                   nvcc_path, tgt, src, ...
                   strjoin(horzcat(mybase,flags.nvcc)));
opts.verbose && fprintf('%s: NVCC CC: %s\n', mfilename, nvcc_cmd) ;
status = system(nvcc_cmd);
if status, error('Command %s failed.', nvcc_cmd); end;

问题三

使用了 ‘-R2018a’ 进行编译并与 ‘-R2017b’ 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个 API 链接在一起。

将vl_compilenn.m中的largeArrayDims全部替换为lmwblas,一共三处