摘要
(这个年代了谁还用apex啊!Pytorch自带的不好用吗?说的就是你,Megatron!)
要解决这个问题,我们需要安装和Pytorch版本一直的cuda。然后再安装apex。
这里简单说下步骤:
- 下载cuda的安装程序,然后安装在无需root权限的目录。
- 下载cudnn,把一些文件移到cuda的目录下。
- 修改.bashrc里的环境变量。
从上面也能看出来,安装只有在第3步做完才会生效。所以可以随时停止。即便安装完了,只要把环境变量复原,也就可以回到最初没有安装的状态。
步骤
1. 下载cuda
地址在这:https://developer.nvidia.com/cuda-downloads 。注意,我们要下载的是 runfile(local) 文件。也就是说能在命令行运行的文件。
这里默认提供最新的几个版本的cuda。如果要安装历史版本,请下拉这个页面,在 "Resources" 里找到 "Archive of Previous CUDA Releases"。
2. 安装cuda
(以下几节参考了文章:https://blog.csdn.net/weixin_42262721/article/details/108278214 。)
下载完成后,sh cuda_10.1.105_418.39_linux.run。
然后每一步请参考我参考的文章操作。但是,请在敲回车之前,都来我这篇文章查看是否有注意事项!
一、敲下accept。
没什么好说的。
二、只选择CUDA Tools。
不行!Toolkit下面的要全选。什么compiler啥的。不然会没有nvcc。
三、没啥好说的。
剩下的,按照它说的安装就罢了。
3. 安装CuDNN
一、解压,无什么好说的。
二、把解压的文件夹里的一些东西copy到cuda安装目录下。
这里看我的就好了。参考文章有些笔误。
cp cudnn/include/cudnn.h /the_path_to_install_cuda/cuda10.1/include/
cp cudnn/lib/libcudnn* /the_path_to_install_cuda/cuda10.1/lib64/
chmod a+r /the_path_to_install_cuda/cuda10.1/include/cudnn.h
chmod a+r /the_path_to_install_cuda/cuda10.1/lib64/libcudnn*
注意事项:第二行命令中,我们将文件从cudnn的lib文件夹,拷贝到cuda的lib64文件夹下。这是因为,我下载的版本的cudnn,只有lib文件夹,没有lib64。原文的版本里是有lib64,那就将第一个lib改成lib64就行。
三、修改环境变量
在~/.bashrc中添加几行命令。下面直接拷贝参考文章:
export CUDA_HOME=/the_path_to_install_cuda/cuda-10.1
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$CUDA_HOME/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
}
碎碎念:第三行,export LD_LIBRARY_PATH 这行,看着好高端啊,我没看懂。所以我选择按照export PATH的方式export了这个玩意,没有完全使用这个命令,当然你可以试试。其实没问题的,但看不懂我不敢用啊。
四、重启终端
不会有人在修改了~/.bashrc后既不重启终端,也不source一下吧?
4. 大功告成
参考文章中列举了命令检验有没有安装成功啥的,我试了下,我这什么反应都没有,别试了。反正能用就行。
结语
完了。都完了。有什么要修改的,没讲清楚的,留言便是了。