CUDA环境变量的坑(冒号)

一般的安装CUDA时,大家都会在~/.bashrc中添加如下内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

上述这个代码存在一个BUG,即在LD_LIBRARY_PATH不存在时,LD_LIBRARY_PATH会被赋值为":/usr/local/cuda/lib64"而不是"/usr/local/cuda/lib64",有一个冒号的区别。这个BUG对于pytorch来说,是无所谓的,哪怕不加,pytorch也会通过/usr/local/cuda找到外部的CUDA(pytorch查找CUDA的过程)。但对于一些兼容性没那么好的代码而言,环境变量是最重要的,在~/.bashrc中,应使用这段代码来添加环境变量

if [ $LD_LIBRARY_PATH ]; then
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
else
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64
fi

if [ $PATH ]; then
    export PATH=$PATH:/usr/local/cuda/bin
else
    export PATH=/usr/local/cuda/bin
fi

if [ $CUDA_HOME ]; then
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
else
    export CUDA_HOME=/usr/local/cuda
fi

在配置mmdection的时候前面的几个步骤都没什么问题,就最后一步的python setup develop的时候,出现了RuntimeError: Error compiling objects for extension 这个错误:
在这里插入图片描述
https://github.com/sshaoshuai/Pointnet2.PyTorch/issues/19 此处有一些解决办法(我自己没有尝试,感觉过于复杂,下面的解决方法要简洁许多)
需要注意的是,根据getting_started.md中的
在这里插入图片描述
第三行是有问题的,写的方式不正确,导致找不到CUDA_HOME的位置,需要修改为第四行的样式,可以正常进入setup环节 。

版权声明:本文为CSDN博主「隔壁王校长wyh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33287871/article/details/119001634

隔壁王校长wyh

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLOX安装指南

最近ubuntu系统跑几下就死机,怕了怕了,后面会把以前安装好的教程都发在csdn上。以免后面系统崩溃后又要重新装过而不知所措。 前段时间yolov5横空出世,然后又多出来了各种比它好的yolo算法。本

随笔-Ubuntu中多cuda版本环境配置

随笔-Ubuntu中多cuda版本环境配置 由于每个人做得任务不同,在实验室的服务器上,有多个用户和多个cuda版本,如何配置自己使用哪一个cuda呢? 看一下cuda的安装路径 c