zoukankan      html  css  js  c++  java
  • Manjaro安装CUDA教程

    去年年底安装将我的Thinkpad T450的双系统中的opensuse换成了Manjaro,折腾安装了下CUDA,是为记录。

    基本安装

    NVIDIA显卡安装

    Manjaro系统安装显卡比较简单,它有一个命令

    sudo mhwd -a [pci or usb connection] [free or nonfree drivers] 0300
    

    其中

    • -a: 自动检测和安装合适的显卡驱动
    • [pci or usb]: 为通过PCI或者USB连接的设置安装驱动
    • [free or nonfree]: 安装免费或者非免费的驱动
    • 0300: 确认即将安装的显卡的驱动

    我们要安装英伟达的驱动,只要使用下面的一行命令即可搞定

    sudo mhwd -a pci nonfree 0300
    

    等待安装结束,使用如下命令查看是否已经安装完成

    nvidia-smi
    

    我的显示结果如下

    从上图可知,我的显卡型号是GeForce 940M,显卡的驱动版本是415.27。

    CUDA安装

    安装命令

    Manjaro的CUDA安装也是异常简单,一行命令搞定

    sudo pacman -S cuda cudnn
    

    这行命令可能需要花费一些时间,请耐心等待。

    验证安装

    完成之后,我们进入cuda的安装路径,我的路径是/opt/cuda,你可以使用下面的命令将CUDA的示例程序拷贝到你的用户主目录下,之后编译程序

    cp -r /opt/cuda/samples ~
    cd ~/samples
    make
    

    此时就使用nvcc编译器开始编译CUDA的sample程序,这个花费时间更长,应该在半小时左右,等待编译结束,使用下面的命令验证是否成功

    cd ~/samples/bin/x86_64/linux/release
    ./deviceQuery
    

    在窗口中查看最后一行的结果是否为pass,如果是则表示CUDA安装成功。

    双显卡配置

    我的电脑有两个显卡,一个是intel的集成显卡,一个是NVIDIA的独显。

    安装显卡切换程序

    Manjaro的双显卡配置有点问题,Bumblebee还是有点问题,使用下面的命令重新安装

    # 依赖
    sudo pacman -S virtualgl lib32-virtualgl lib32-primus primus
    
    # 安装双显卡切换程序bumblebee
    sudo mhwd -f -i pci video-hybrid-intel-nvidia-bumblebee
    
    # 允许服务
    sudo systemctl enable bumblebeed
    
    # 添加用户
    sudo gpasswd -a $USER bumblebee
    

    为了防止重启之后不能进入登录界面,需要做如下的配置

    1. 打开 /etc/default/grub
    2. 找到并且改为:GRUB_CMLINE_LINUX_DEFAULT="quiet acpi_osi=! acpi_osi=Linux acpi_osi=’Windows 2015’ pcie_port_pm=off resume=..."
    3. 运行sudo update-grub,重启

    测试显卡性能

    使用下面的shell命令安装显卡测试程序

    # 安装测试软件
    sudo pacman -S mesa-demos
    
    # 集成显卡性能
    glxgears -info
    
    # 独显性能
    optirun glxgears -info
    # 或者
    primusrun glxgears -info
    

    需要注意的是,之后运行的所有程序,如果需要使用独立显卡,需要在命令的前面加上optirun或者primusrun的前缀。

    # 打开nvida面板
    optirun -b none nvidia-settings -c :8
    
    # 不依赖Bumblebee来使用CUDA
    sudo tee /proc/acpi/bbswitch <<< 'ON'
    
    # 使用完CUDA 停止NVIDIA显卡
    sudo rmmod nvidia_uvm nvidia && sudo tee /proc/acpi/bbswitch <<< OFF
    
    inxi -G # 查看显卡情况
    optirun nvidia-smi # 查看CPU情况
    

    参考资料

  • 相关阅读:
    BestCoder Round #32
    USACO Runaround Numbers
    USACO Subset Sums
    USACO Sorting a Three-Valued Sequence
    USACO Ordered Fractions
    USACO 2.1 The Castle
    Codeforces Round #252 (Div. 2)
    Codeforces Round #292 (Div. 2)
    BZOJ 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
    BZOJ 1603: [Usaco2008 Oct]打谷机
  • 原文地址:https://www.cnblogs.com/bugxch/p/13833583.html
Copyright © 2011-2022 走看看