Tesla P4是专业AI显卡,只有70瓦功耗,可以作为AI入门使用。
安装时碰到的几个问题:
首先因为单显卡插槽,就需要先安装好机器,然后ssh登录进行相关配置。安装的时候来回插拔了好多次!
其次就是安装驱动时,报错Nouveau 冲突,需要删除后再安装,具体操作见后面。但是我的这个方法,每次机器启动,都需要再手工删除一下:sudo rmmod nouveau
其它小坑若干。
下面是详细过程,记录留档。
官方驱动 | NVIDIA
当然是在一台pc机下载,然后scp过去:
需要禁用Nouveau ,解决方法,看看是否有这个文件:
cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
文件内容:
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0
有的话,执行:sudo rmmod nouveau
网上也有说这个文件的:
/etc/modprobe.d/blacklist_nouveau.conf
内容同上。
不管用哪个文件,最终结果都应该是执行下面命令没有显示:
lsmod | grep nouveau
sudo apt install gcc cmake pkg-config
最后开始安装驱动:
sudo ./NVIDIA-Linux-x86_64-515.105.01.run
https://developer.nvidia.com/rdp/cudnn-archive
CUDA Toolkit 11.7 Update 1 Downloads | NVIDIA Developer
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-ubuntu1804-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu1804-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
这里碰到了报错,说它是11.7.1,机器上是11.7,版本低。后来是修改成cuda12版本的适配才通过。
到清华源下载miniconda,过程略
Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
开始使用_飞桨-源于产业实践的开源深度学习平台 (paddlepaddle.org.cn)
直接pip安装
nvidia-smi 可以看到显卡驱动装上了。
Fri Dec 1 03:15:02 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P4 Off | 00000000:05:00.0 Off | 0 |
| N/A 57C P0 23W / 75W | 0MiB / 7680MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
在python里测试torch通过:
Python 3.9.18 (main, Sep 11 2023, 13:41:44)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.set_default_device("cuda")
>>> x = torch.randn((2,3))
>>> y = x+ 1
>>> y
tensor([[1.8834, 0.8595, 1.9195],
[0.9722, 1.5244, 0.5921]], device='cuda:0')
但是现在飞桨还没通过,看文档说是要打开avx....要到bios里设置,又要插拔显卡...
后续,发现该系统cpu比较老,不支持avx 。到飞桨官网找到了关闭avx的编译好的包,在这里:https://www.paddlepaddle.org.cn/whl/linux/mkl/noavx/stable.html
但是都比较老,还需要降cuda版本。我是直接用了2.4.2的cpu版本进行了安装测试,结果还是报错:>>> import paddle Illegal instruction (core dumped)
先搁置问题。
安装了torch和fastai,简单测试了图像分类,速度还是挺快的,一个epoch 2分钟,个人感觉跟V100没有差过一个数量级,小样本情况下可堪一用,再加上这个价格和功耗的加持,真香!
>>> learn.fine_tune(1)
epoch train_loss valid_loss error_rate time
0 0.168299 0.027771 0.008796 00:40
epoch train_loss valid_loss error_rate time
0 0.057213 0.014921 0.004736 00:57
ps,不改散热是真不行,直接烧到90度了。
Sat Dec 2 02:28:49 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P4 Off | 00000000:05:00.0 Off | 0 |
| N/A 92C P0 36W / 75W | 3536MiB / 7680MiB | 100% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 6236 C python 3534MiB |