0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用外部GPU在Linux笔记本上加速机器学习

星星科技指导员 来源:NVIDIA 作者:Dhruv Singal 2022-04-28 14:16 次阅读

随着 Intel Thunderbolt 3 在笔记本电脑中的引入,您现在可以使用外部 GPU ( e GPU )外壳来使用专用的 GPU 来进行游戏、制作和数据科学。霹雳 3e GPU 设置包括

离散的

用来安置它的围栏

电源

与笔记本电脑的 Thunderbolt 3 连接

大多数外壳都提供了所有这些,所以您只需要使用一台带有 Thunderbolt 3 的笔记本电脑。

因为我很看重轻薄笔记本的便携性,但希望用一台 GPU 的原始马力来完成严肃的工作, e GPUs 让我可以两全其美。通过一根 Thunderbolt 3 电缆,我可以将我的笔记本电脑连接到一个强大的专用 GPU 、多个显示器和外围设备。

选择硬件

e GPU 解决方案的性能在很大程度上取决于 GPU 的性能、 CPU 的性能以及两者之间的连接带宽。

确保您的笔记本电脑支持 Thunderbolt 3

Thunderbolt 3 是一个通过 USB-C 工作的硬件接口,在主机 CPU 和 GPUs 等设备之间支持多达四个 PCI Express ( PCIe )通道,这为您提供了理论上的最大值:

4 x 8Gbps (the bandwidth of a single PCIe Gen3 lane) = 32 Gbps

笔记本电脑制造商可以设计少于四个通道的笔记本电脑,因此您应该咨询笔记本电脑制造商,以了解在您的机器上使用 Thunderbolt 3 有多少个 PCIe 通道可用。 e GPU 。 io 上的人维护着一个 e GPU 应用的最佳笔记本电脑 的列表。

Windows 和 Linux 支持 e GPUs 。这篇文章关注的是 ubuntulinux 上的 e GPUs 。我使用的笔记本电脑是运行 ubuntu20 。 04lts 的联想 thinkpadx1yoga (第四代),但是这篇文章已经在 ubuntu18 。 04lts 上测试过了。

选择存储模块

虽然存储模块在功能、大小、供电和成本方面各不相同,但 e GPU 。 io 的工作人员也会对 霹雳 3 外壳列表 进行维护,并对其功能进行简要描述,以帮助您做出决定。我的选择是十四行诗 eGFX 分离盒( 350W )。

选择 GPU

您对 GPU 的选择取决于您的用例和对外壳的选择。一些考虑因素包括功耗、卡大小、 GPU 内存和时钟速度。我选择的 GPU 是 RTX 2080 Super 。

设置 Ubuntu 以使用 NVIDIA e GPU

本文假设您将使用 Ubuntu18 。 04LTS / 20 。 04LTS 。

安装 CUDA 和 NVIDIA 驱动程序

在 e GPU 连接的情况下安装 Ubuntu 并重新启动。

将系统更新到最新内核:

$ sudo apt-get update
$ sudo apt-get dist-upgrade

确保系统检测到 NVIDIA GPU 并且加载了合适的驱动程序:

$ lspci | grep -i “nvidia”
$ lsmod | grep -i “nvidia”

现有的驱动程序很可能是 Nouveau , NVIDIA GPUs 的开源驱动程序。因为 Nouveau 不支持 e GPU 设置,所以应该安装 NVIDIA CUDA 和 NVIDIA 驱动程序。您还必须停止内核加载 Nouveau 。

为您的发行版获取 NVIDIA CUDA 工具箱 的最新版本。对于 Ubuntu 20 。 04 ,可以从标准存储库获取此工具箱:

$ sudo apt-get install nvidia-cuda-toolkit

将 Xorg 卸载到 e GPU

在安装了 NVIDIA 专有驱动程序之后,通过在/ etc / gdm3 中注释出# WaylandEnable = false ,确保 Ubuntu 18 。 04 / 20 。 04 的 gdm3 (图形登录管理器)没有使用 Wayland /自定义。 conf :

# GDM configuration storage
# # See /usr/share/gdm/gdm.schemas for a list of available options.
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

然后,将 3 附加到/ etc / DEFAULT / GRUB 中的 GRUB _ CMDLINE _ LINUX _ DEFAULT 后面,引导到运行级别 3 :

#If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration' GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

最后,更新 grub 并重新启动:

$ sudo update-grub
$ sudo shutdown --reboot

重新启动到运行级别 3 并检查 NVIDIA 专有驱动程序是否已加载:

$ nvidia-smi

编辑/ usr / share / X11 / xorg . conf 公司. d / 10- NVIDIA . conf 在 OutputClass 中添加一个附加选项,以允许 NVIDIA X 驱动程序加速 X ,而不是由集成的 GPU 驱动:

Section "OutputClass" Identifier "nvidia" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowExternalGpus" "True" Option "AllowEmptyInitialConfiguration" ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

将/ etc / default / grub 还原为默认值,方法是从 grub _ CMDLINE _ LINUX _ default 中删除“ 3 ”,然后更新 grub :

$ sudo update-grub

通过查看$ NVIDIA -smi 的输出,重新启动并检查以确保您的 X 会话被 NVIDIA NVIDIA 加速。

$ nvidia-smi output

Terminal running nvidia-smi and showing the Xorg process and thus, the X server, running on the NVIDIA eGPU.

图 1 NVIDIA -smi 显示 X 服务器正在 NVIDIA e GPU 上运行,其他使用指标。

结果应该显示至少一个 GPU 的利用率,即 e GPU 存储模块中的一个。可能会显示其他 GPUs ,这取决于您的系统有多少 NVIDIA GPUs 。如果您看到进程 /usr/lib/xorg/Xorg ,这意味着您的 X 会话正在被 NVIDIA GPU 加速。

使用 NGC 容器

容器提供了一种设置开发环境的简单方法。 NGC 上的容器注册表跨越人工智能、数据科学和 HPC ,拥有广泛的 GPU 加速软件 NVIDIA GPUs 。 NGC 托管了顶级人工智能和数据科学软件的容器,这些软件由 NVIDIA 进行了调优、测试和优化,同时还为 HPC 应用和数据分析提供了经过充分测试的容器

现在您已经安装了 NGC 驱动程序,您可以安装 NVIDIA – 玩偶 并从 NGC 下拉 NGC NGC – 优化容器来执行各种任务:

CUDA 用于 GP GPU

ISAAC 是的。 用于机器人仿真

NeMo for conversational AI

深水流 用于智能视频分析

帕拉布里茨 用于 DNA 测序

以及人工智能、数据科学和高性能计算机领域的更多容器

下面是一个使用 NGC 图像运行 深水流 的示例:

dsingal@dsingalX1NV:~$ sudo docker pull nvcr.io/nvidia/deepstream:5.0-20.07-triton
dsingal@dsingalX1NV:~$ xhost +
dsingal@dsingalX1NV:~$ docker run --gpus all -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.0 nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
root@dsingalX1NV:/opt/nvidia/deepstream/deepstream-5.0# deepstream-app -c ./samples/configs/deepstream-app/source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

结论

现在您已经设置了 e GPU ,您可以通过执行类似于 使用 NVIDIA Riva 加速文本到语音转换 、 用 NVIDIA Merlin 构建深度推荐系统 、 使用 NVIDIA DeepStream 构建 IVA 应用程序 等操作来利用可用的大规模并行计算。

关于作者

Dhruv Singal 是 NVIDIA 的解决方案工程师。他专注于计算机视觉和自然语言在许多垂直行业的应用。在 NVIDIA 之前, Dhruv 在圣路易斯奥比斯波的 CalPoly 获得计算机科学学士学位,在那里他学习并行编程深度学习

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4508

    浏览量

    127531
  • Linux
    +关注

    关注

    87

    文章

    11030

    浏览量

    207251
  • 机器学习
    +关注

    关注

    66

    文章

    8190

    浏览量

    131239
收藏 人收藏

    评论

    相关推荐

    CPCI加固笔记本

    笔记本主板
    jf_10805031
    发布于 :2024年05月10日 09:41:05

    集特加固笔记本GEC-2601#笔记本

    笔记本显卡
    jf_67464575
    发布于 :2024年05月08日 08:45:38

    集特特种加固笔记本

    笔记本
    jf_10805031
    发布于 :2024年04月25日 14:44:05

    飞腾超薄笔记本#笔记本

    笔记本
    jf_67464575
    发布于 :2024年04月03日 13:57:11

    国产 飞腾FT2000笔记本#国产笔记本 #飞腾FT2000笔记本

    笔记本龙芯
    jf_32772783
    发布于 :2024年04月03日 11:30:52

    集特GEC-3003龙芯3A6000笔记本视频详细介绍#笔记本 #性能高

    笔记本显卡
    jf_67464575
    发布于 :2024年03月28日 16:56:16

    思道SEEKBOOC新款笔记本

    笔记本
    jf_69621499
    发布于 :2024年03月23日 08:54:47

    FPGA深度学习应用中或将取代GPU

    笔记本电脑或机架式服务器训练神经网络时,这不是什么大问题。但是,许多部署深度学习模型的环境对 GPU 并不友好,比如自动驾驶汽车、工厂、机器
    发表于 03-21 15:19

    首批RISC-V笔记本电脑ROMA成功交付,全球首次实现RISC-V技术笔记本电脑领域的商业落地!

    近日,由深度数智推出的第一批RISC-V笔记本电脑ROMA成功交付客户,全球首次实现RISC-V技术笔记本电脑领域的商业落地! 本次交付的ROMA笔记本电脑搭载赛昉科技昉·惊鸿-7
    发表于 08-21 13:41

    OpenVINO trade笔记本电脑导入notebook_utils时报错怎么解决?

    已下载 OpenVINO™笔记本电脑 已安装所需的软件包: python -m pip install --upgrade pip pip install -r requirements.txt
    发表于 08-15 06:37

    99.【笔记本维修厮】老厮透露自己的笔记本修理秘籍 #硬声创作季

    笔记本
    充八万
    发布于 :2023年07月19日 18:47:14