Manjaro安装CUDA实现教程解析

 更新时间:2020年10月30日 08:33:42   作者:Dive Into Think  
这篇文章主要介绍了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

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

  • 打开 /etc/default/grub
  • 找到并且改为:GRUB_CMLINE_LINUX_DEFAULT="quiet acpi_osi=! acpi_osi=Linux acpi_osi='Windows 2015' pcie_port_pm=off resume=..."
  • 运行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情况

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 服务器免密登录的实现以及异常解决方案

    服务器免密登录的实现以及异常解决方案

    当我们在现在创建测试用Linux服务器或者服务器集群的时候,需要通过终端连接自己创建的服务器,实现步骤可以分为2步,下面通过本文给大家详细介绍下
    2016-12-12
  • SparkGraphx计算指定节点的N度关系节点源码

    SparkGraphx计算指定节点的N度关系节点源码

    这篇文章主要介绍了SparkGraphx计算指定节点的N度关系节点源码,小编觉得挺不错的,这里分享给大家,希望给各位一个参考。
    2017-10-10
  • Memcached常用命令及使用说明

    Memcached常用命令及使用说明

    这篇文章主要介绍了Memcached常用命令及使用说明,需要的朋友可以参考下
    2014-08-08
  • Mac下开启与关闭端口转发的脚本配置方法

    Mac下开启与关闭端口转发的脚本配置方法

    这篇文章主要介绍了Mac下开启与关闭端口转发的脚本配置方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Linux下搭建HTTP服务器完成图片显示功能

    Linux下搭建HTTP服务器完成图片显示功能

    这篇文章作为Linux下socket(TCP)网络编程的练习,使用C语言代码搭建一个简单的HTTP服务器,完成与浏览器之间的交互,最终在浏览器上显示一张图片;通过这个例子可以巩固socket里多线程使用,也可以方便学习了解HTTP协议
    2022-04-04
  • CentOS与Ubuntu哪个更适合做服务器系统

    CentOS与Ubuntu哪个更适合做服务器系统

    对于服务器而言,有两个主流的 Linux 发行版,那就是 CentOS 和 Ubuntu。但如何从这两个之中选择,这是摆在管理员、初学者和专业人士面前的主要问题。在对这两个(和更多)发行版有了一定的经验之后,我们决定对这两个发行版用于服务器时做个比较
    2017-04-04
  • DELL服务器配置RAID的教程

    DELL服务器配置RAID的教程

    这篇文章主要介绍了DELL服务器配置RAID的教程,本文以DELL R430服务器为例子,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • rsync指定ssh端口进行文件同步的方法

    rsync指定ssh端口进行文件同步的方法

    这篇文章主要介绍了rsync指定ssh端口进行文件同步的方法,需要的朋友可以参考下
    2018-02-02
  • 伪静态URL中文乱码问题解决方法

    伪静态URL中文乱码问题解决方法

    ISAPI_Rewrite伪静态中文URL乱码的解决方案 细心有朋友会发现,在众多知名程序,比如ShopEx网店、Discuz论坛等系统的伪静态规则都存在中文编码问题
    2014-07-07
  • http跟https有什么区别

    http跟https有什么区别

    这篇文章主要介绍了http跟https的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-02-02

最新评论