• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 人工智能/深度學習

    使用外部 GPU 在 Linux 筆記本電腦上加速機器學習

    隨著 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 – 優化容器來執行各種任務:

    有關如何使用 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
    Image of a road and sidewalk. Bounding boxes around the cars, people, and around the bicycle carried by a pedestrian identifying them as such.
    圖 2 。 在 deepstream 容器中運行 deepstream 應用程序以檢測視頻中的對象。

    結論

    現在您已經設置了 e GPU ,您可以通過執行類似于 使用 NVIDIA Riva 加速文本到語音轉換用 NVIDIA Merlin 構建深度推薦系統使用 NVIDIA DeepStream 構建 IVA 應用程序 等操作來利用可用的大規模并行計算。

    請務必加入 NVIDIA 開發人員計劃 以獲得教程、培訓和開發人員技術活動的訪問權限,并使用最新的 NVIDIA SDK 和工具加速您的應用程序。

    0

    標簽

    人人超碰97caoporen国产