1 问题描述
使用ubuntu16.04系统的服务器创建新用户(使用useradd命令在管理员用户下执行)时,发现新创建的用户没有cuda环境(使用nvcc -V命令查看cuda版本),但系统管理员用户下已经装好显卡驱动、cuda、cudnn。(注:ubuntu16.04单机同理)
2 问题分析
出现上述问题时首先查看管理员用户是否存在cuda环境,在管理员用户下的终端中输入nvcc -V查看发现cuda环境存在,若不存在则需要在管理员用户配置cuda环境,参考我的其他博文即可。
那么只可能是新用户的环境变量出了问题,我们继续顺藤摸瓜。
3 问题解决
通过如上的分析,在新用户中打开终端,输入
sudo gedit ~/.bashrc
进入环境变量编辑页面,翻到文件末尾发现新用户的环境变量中没有关于cuda的任何相关配置,分析可知就是由于没有环境变量导致cuda环境不能加载。
因此,在此时需要你切换登陆到你的管理员用户,输入上面的命令查看管理员用户中关于cuda的配置,并记录,用于写入到新用户的环境变量中。
我在管理员用户中配置的cuda内容是:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
export PATH=$PATH:/usr/local/cuda-11.0/bin
每个人的可能不同,这个根据你的cuda版本决定。添加上述变量到新用户中,保存环境变量文件,注意需要使用:
source ~/.bashrc
刷新环境变量,刷新后cuda环境方可查看,此时通过nvcc -V即可查看cuda版本,并可运行深度学习代码。