随着 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
结果应该显示至少一个 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 容器的更多信息,请参阅 NGC 入门指南 。
下面是一个使用 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 应用程序 等操作来利用可用的大规模并行计算。
请务必加入 NVIDIA 开发人员计划 以获得教程、培训和开发人员技术活动的访问权限,并使用最新的 NVIDIA SDK 和工具加速您的应用程序。