Deepin 双显卡笔记本安装GPU版本PyTorch跑机器学习

笔记本配置清单

sudo apt-get install inxi 安装相关的命令行工具
inxi -Fxxx 获得笔记本具体配置信息
deepin 版本 15.7 如图是安装后的结果,可以看到笔记本是使用NVIDIA来进行绘图。

System:    Host: sunqi-PC Kernel: 4.15.0-29deepin-generic x86_64 bits: 64 compiler: gcc v: 7.3.0 Desktop: Gnome 
           dm: lightdm 1.21.5 Distro: Deepin 15 
Machine:   Type: Laptop System: VULCAN product: DiYuHuo X6 v: Standard serial:  
           Mobo: VULCAN model: DiYuHuo X6 v: Standard serial:  UEFI: American Megatrends 
           v: N.1.03 date: 04/06/2018 
Battery:   ID-1: BAT0 charge: 46.7 Wh condition: 46.7/46.7 Wh (100%) volts: 12.9/11.4 model: standard 
           type: Li-ion serial: 00001 status: Full 
CPU:       Topology: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP arch: Skylake rev: 10 
           L2 cache: 9216 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 52992 
           Speed: 4097 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 4096 2: 4087 3: 4039 4: 4102 5: 4100 
           6: 4045 7: 4100 8: 4044 9: 4099 10: 4100 11: 4044 12: 4102 
Graphics:  Card-1: Intel driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:3e9b 
           Card-2: NVIDIA GP106M [GeForce GTX 1060] driver: nvidia v: 390.67 bus ID: 01:00.0 chip ID: 10de:1c20 
           Display: x11 server: X.Org 1.20.0 driver: modesetting,nvidia unloaded: fbdev,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 1060/PCIe/SSE2 v: 4.6.0 NVIDIA 390.67 direct render: Yes 
Audio:     Card-1: Intel driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a348 
           Sound Server: ALSA v: k4.15.0-29deepin-generic 
Network:   Card-1: Intel driver: iwlwifi v: kernel port: N/A bus ID: 00:14.3 chip ID: 8086:a370 
           IF: wlo1 state: down mac: 7c:76:35:ec:25:2a 
           Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 v: 2.3LK-NAPI 
           port: 3000 bus ID: 04:00.0 chip ID: 10ec:8168 
           IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: b0:25:aa:28:1d:2c 
Drives:    HDD Total Size: 1.14 TiB used: 393.24 GiB (33.6%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB256HAHQ-00000 size: 238.47 GiB serial: S444NE0K312600 
           rev: EXD7101Q scheme: GPT 
           ID-2: /dev/sda vendor: Western Digital model: WD10SPZX-00Z10T0 size: 931.51 GiB 
           serial: WD-WXA1A283DY9Y rev: 1A01 scheme: GPT 
Partition: ID-1: / size: 29.40 GiB used: 12.45 GiB (42.4%) fs: ext4 dev: /dev/nvme0n1p5 
           ID-2: /home size: 78.15 GiB used: 65.49 GiB (83.8%) fs: ext4 dev: /dev/sda4 
Sensors:   System Temperatures: cpu: 62.0 C mobo: 46.0 C gpu: nvidia temp: 45 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 293 Uptime: 12m Memory: 15.56 GiB used: 3.37 GiB (21.6%) Init: systemd v: 238 runlevel: 5 
           Compilers: gcc: 7.3.0 alt: 7 Shell: zsh v: 5.5.1 running in: deepin-terminal inxi: 3.0.09 

安装步骤

  1. 使用官方的显卡管理器,切换模式到使用Nvidia Prime技术的闭源驱动(软件中的最后一个选项)
    由于我的显卡是GTX1060,软件自动安装的驱动版本是driver: nvidia v: 390.67 。官方的最新的驱动是 410,也可以自己手动安装,由于deepin不是NV官方声明支持的版本,我没有自己试过。(能用就行的原则,偷懒了)

  2. 安装cuda, 此处需要看cuda支持的列表,不同版本的cuda对于 显卡驱动的最低版本版本,我安装的是cuda9.0 刚好是支持390.67的。安装cuda的时候需要注意

    1. sudo su 进入管理员模式,用来执行 *.run cuda驱动文件. 注意运行./cuda_9.1.85_387.26_linux.run --override --override能够帮你忽略程序对gcc 版本的检查(cuda9.0 对gcc 版本有要求)。由于我们是使用PyTorch 并不直接使用cuda编译并行程序,所以可以使用这个参数。
    2. 后续的选项
      1. 安装路径 (可以自己选,不过后面要解决PATH lib查找路径的环境变量的添加,细看安装文件的输出,会有提示,百度也有一堆不细讲了。默认配置的话,比较省心,不用自己配置了。)
      2. 会提示是否安装cuda toolkit 选择 YES
      3. 会提示是否安装Nvidia驱动 由于我们已经安装的NV驱动满足要求,没必要重装.选择 NO
      4. 提示是否安装CUDA sample文件,选择NO
    3. 安装CUDA9.0 对应的PyTorch文件,可以到PyTorch官网上去找 各个版本whl文件地址
      ,使用 pip install xxxxx.whl 来安装文件。
  3. 安装所有文件后运行 python demo.py文件测试是否能够正常运行

    import  torch
    print(torch.__version__)
    x=torch.ones(2,2)
    x=x.cuda()
    print(x*x)
    

    会提示如下信息

    0.4.0
    THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=70 error=35 : CUDA driver         version is insufficient for CUDA runtime version
    Traceback (most recent call last):
    File "/media/WindowsF/person_data/demo.py", line 4, in 
    x=x.cuda()
    RuntimeError: cuda runtime error (35) : CUDA driver version is insufficient for CUDA runtime version at /pytorch/aten/src/THC/THCGeneral.cpp:70
    

    不要慌,实际上cuda版本和nv驱动版本都是对的。

    实际上我们还需要安装两个库,来解决报错信息sudo apt-get install nvidia-opencl-dev libcudart9.1
    至于为什么,我也搞不懂,只能说是Magic了~

愉快的玩耍去吧~

参考文献:
在deepin 15.7上安装 cuda 9.1成功

你可能感兴趣的:(python,机器学习)