编译pytorch版本的PreciseRoIPooling中遇到的问题
Dimp模型中使用pr pooling来池化目标区域(ROI)特征,以此初始化滤波器,使用到的prroi_pool模块来自于github,在编译过程中遇到些问题。
找不到cuda include cuda_runtime_api的问题
cudacontext.h:5:10: fatal error: cuda_runtime_api.h: no such file or directory
找不到cuda_runtime_api.h文件,该文件在cuda安装目录下的include下,但是pytorch能够正常寻找和使用cuda以及相应的库(因为etc/profile或.bashrc已经包含了cuda路径/usr/local/cuda/bin和lib路径/usr/local/cuda/lib64,nvcc 也正常)。
在pytorch运行py文件的configurations配置中Environment variables也正常继承了系统变量(cuda path),在该位置增加/usr/local/cuda/include也没有作用,总之是环境变量export path的问题,可能是写法不对,修改为如下形式:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
这是nvidia官方CUDA Quick Start Guide的写法(改为了软链接路径),修改之后就没有上述问题了。可惜已经修改完成,没有记下来原来的写法。
nvcc fatal : Unsupported gpu architecture ‘compute_86’
机器是rtx 3080的显卡,驱动是460,使用的是cuda11.0的版本,pytorch 1.7.1,编译第二步就会出现nvcc的问题,主要是30系列的显卡cuda及驱动支持的兼容性问题,我也没搞清楚是怎么回事。问题:
Using /home/xx/.cache/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/xx/.cache/torch_extensions/_prroi_pooling/build.ninja...
Building extens

在尝试编译带有PrRoIPooling的Dimp模型时,遇到了CUDA相关问题。首先,解决找不到cuda_runtime_api.h的问题,通过更新环境变量设置解决了该问题。接着,遇到nvcc错误'Unsupported gpu architecture compute_86',原因是CUDA 11.0不支持RTX 3080的sm_86架构。解决办法是升级CUDA到11.1以上。此外,还探讨了CUDA与驱动、TensorFlow的兼容性问题,以及临时解决cudnn初始化异常的方法。

5556

被折叠的 条评论
为什么被折叠?



