[matconvnet]matconvnet-1.0-beta-25在cuda11.1以上编译问题总结

首先可以肯定是matconvnet-1.0-beta-25不支持cuda11.1及其以上版本,因为cudnn版本问题导致源码api接口不一样,会下面类似报错

复制代码
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(89): error: identifier "cudnnConvolutionFwdPreference_t" is undefined 
 
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(94): error: identifier "cudnnConvolutionBwdFilterPreference_t" is undefined 
 
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(99): error: identifier "cudnnConvolutionBwdDataPreference_t" is undefined 
 
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(141): error: identifier "cudnnConvolutionFwdPreference_t" is undefined 
 
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(147): error: identifier "cudnnConvolutionBwdFilterPreference_t" is undefined 
 
E:\Matlab\R2020a\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(153): error: identifier "cudnnConvolutionBwdDataPreference_t" is undefined 

这个如果源码作者不去适配改代码根本没办法编译成功,目前最笨方法就是关闭cudnn功能,这样就不会用到cudnn这块,虽然可以用cuda但是性能折损至少一半,但是总比cpu强。此外我看网上还有cuda11.0去编译的可能这个接口没变是可以的,但是具体没有测试过。那些网上说matconvnet支持11.3的基本都是假的,这个只能等作者更新代码才行。目前只有关闭cudnn才能编译通过。

相关推荐
A.A呐19 分钟前
【Linux第十三章】缓冲区
linux·服务器
吴声子夜歌36 分钟前
TypeScript——泛型
前端·git·typescript
想唱rap1 小时前
Linux线程
java·linux·运维·服务器·开发语言·mysql
JFSJFX1 小时前
手机短信误删怎么办?这4种恢复办法亲测有效,轻松找回短信
运维·服务器
yuzhuanhei1 小时前
docker常用命令
运维·docker·容器
無名路人1 小时前
Zsh 脚本 + VS Code 任务:NestJS + Vue3 一键部署到 1Panel
运维·后端·自动化运维
猩猩程序员1 小时前
Pretext:一个绕过 DOM 的纯 JavaScript 排版引擎
前端
竹林8181 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑实录
前端·javascript
anarckk1 小时前
docker volume 导入导出命令
运维·docker·容器
神舟之光1 小时前
jwt权限控制简单总结(乡村意见簿-vue-express-mongdb)
前端·vue.js·express