Planen Sie die Konvertierung eines hochspezifizierten Linux-Desktops in eine Deep Learning Workstation mit eGPU (eGPU-Setup).

Ich habe meinen eigenen hochspezifizierten Linux-Desktop in dem Artikel "Ich habe einen hochspezifizierten Linux-Desktop mit Intel NUC + SSD 2 TB + DRAM 32 GB erstellt" erstellt. Als ich [zukünftige Probleme] vorstellte (https://qiita.com/y-vectorfield/items/2fcbc669a43fe0d0cb15#%E4%BB%8A%E5%BE%8C%E3%81%AE%E6%94%B9 % E8% 89% AF% E4% BA% 88% E5% AE% 9A% E8% A6% 81% E4% BA% 88% E7% AE% 97% E3% 81% A8% E3% 81% AE% E7 Ich schrieb, dass ich mich der Herausforderung stellen möchte, eine GPU-Maschine mit eGPU zu erstellen, indem ich die Tatsache ausnutze, dass sie Thunderbolt 3 als% 9B% B8% E8% AB% 87 unterstützt. Wir konnten aus verschiedenen Glücksgründen ein Budget zusammenstellen, so dass wir alle notwendigen Teile haben. In diesem Artikel möchte ich eGPU als ersten Schritt des Deep Learning Workstation-Konvertierungsplans für hochspezifizierte Linux-Desktops mit eGPU einrichten.

Was ist eGPU überhaupt?

Externe GPU, dh eine externe GPU. Ursprünglich für Laptops mit nur einer GPU mit integrierter CPU entwickelt, wird ein Computer mit unzureichender Grafikleistung über eine Hochgeschwindigkeits-Kommunikationsstandardschnittstelle mit einer GPU mit höherer Leistung verbunden, um die Grafikleistung zu verbessern. Ist der Zweck. Kürzlich hat der Apple Store eine eGPU-Einheit (integrierte AMD Radeon) für das MacBook verkauft. Sie können die Grafikleistung verbessern, indem Sie sie an ein kompatibles MacBook anschließen. Dieses Mal möchte ich eine eGPU auf einem Desktop und einem Linux-Computer verbinden, um daraus eine Workstation für Deep Learning zu machen. Die zum Verbinden verwendete Schnittstelle ist Thunderbolt 3.

Vor- und Nachteile von eGPU

Die Vor- und Nachteile von eGPU werden nachfolgend beschrieben.

  1. Sie können die GPU nur dann starten, wenn Sie sie benötigen (ideal für Anwendungen, bei denen Sie nicht immer eine GPU benötigen).
  2. Der PC kann miniaturisiert werden und nimmt keinen Platz ein (danke, dass Sie in einer kleinen Kanto-Wohnung wohnen).
  3. Es kann ein geringer Stromverbrauch realisiert werden (ab Verdienst 1).
  4. Sie können Ihre eigenen mit einem geringen Budget erstellen (220.000 einschließlich des PCs selbst sollten mit den Spezifikationen dieses PCs ein relativ geringes Budget haben)
  1. Thunderbolt 3 ist langsamer als PCI Express x16, daher ist die Kommunikationsgeschwindigkeit mit der GPU langsamer. → Die Leistung der PCI Express x16-Verbindung sinkt auf ca. 70-80% (Referenz).
  2. Umständliche Einrichtung

Die eGPU hat diesmal verwendet

Die diesmal verwendete eGPU ist ein Kit, das eine GPU, die ursprünglich als Grafikkarte verkauft wurde, in eine eGPU umwandelt. Die Kosten für eGPU sind wie folgt.

Arten von Teilen Modellnummer Hersteller Preis Bemerkungen
Grafikkarte NVIDIA Geforce RTX 2080 SUPER
GALAKURO GAMING
Expertenorientiert ¥74,800. NTT-Kauf bei X Store
eGPU-Umrüstsatz Razer Core X
RC21-01310100-R3J1
Razer ¥36,080. Online bei PC Studio gekauft

Gesamt: 110.880.. Insgesamt mit PC: 218.065 Yen. (Wenn PayPay berücksichtigt wird: 173.604 Yen.)

Zu verwendende GPU: NVIDA Geforce RTX 2080 SUPER

Die GPU hat NVIDIAs Geforce RTX 2080 SUPER (fachkundig) gekauft, da seine Verwendung als Workstation für Deep Learning das wichtigste Ziel der Konstruktion ist. Ursprünglich hatte ich vor, 2070 SUPER zu kaufen, was zwei Ränge niedriger ist, aber da es im NTT-X Store erhältlich war, kaufte ich die GPU spontan.

RTX2080SP.png (Verkaufsseite des NTT-X Store ab 18. Februar 2020)

Es ist die drittgrößte GPU von oben (nach TITAN RTX, RTX 2080 Ti) in der Geforce-Serie, die von NVIDIA als Allzweck-GPU verkauft wird. ~~ Ehrlich gesagt kann die Verwendung der 80er-Serie in einer Umgebung, in der mit einer Thunderbolt 3-Verbindung nicht die volle Leistung verfügbar ist, hinsichtlich der Kostenleistung die schlechteste sein. .. .. ~~

Zu verwendendes EGPU-Konvertierungskit: Razer Core X

Es ist ein Kit zum Konvertieren einer Grafikkarte in eine eGPU. Ich fand es, als ich mich fragte, welches Hersteller-Kit ich kaufen sollte, um eine eGPU zu bauen, die mit dem Barebone-Intel NUC verbunden ist, mit dem ich meinen eigenen PC [die Website] hergestellt habe (https://nucfan.com/choose-egpu-for- Es wurde in Intel-Nuc /) eingeführt. Ist es nicht ein Produkt, das in Bezug auf Preis, Leistung und Zuverlässigkeit des Herausgebers ausgewogen ist? (Meine persönliche Meinung) Alle inländischen Online-Shopping-Sites sind jedoch ausverkauft, und immer mehr Sites sind mit einem höherwertigen USB- und LAN-Port ausgestattet und verkaufen nur Modelle, die 20.000 Yen höher sind. Ich fand es schließlich im Versandhandel des Personal Computer Studios und kaufte es. Es gibt ein billiges Kit, das in China hergestellt wird. Wenn Sie jedoch einen Fehler machen und den 2080 SUPER zerstören, ist er nicht in Mode. Deshalb habe ich ein Produkt gekauft, das von einem Grafikhersteller verkauft wurde, auch wenn es etwas teuer ist.

image.png

Ich war ehrlich fassungslos, als ich das eigentliche Produkt sah, das mir zugesandt wurde. Das Endergebnis ist, dass die eGPU viel größer ist als der PC selbst. : Schrei:

eGPU-Setup

Das eigentliche Einrichtungsverfahren wird unten beschrieben. Es ist leicht zu beschreiben, aber bis ich herausgefunden habe, wie man es baut, war es die Geschichte des Kampfes: schreien_katze :. (Treiberinstallationsprozess usw.)

eGPU-Montage

Docken Sie Geforce RTX 2080 SUPER (im Folgenden RTX 2080SP) an Razer Core X (im Folgenden Core X) an und konvertieren Sie es in eGPU. Die Installation ist nicht schwierig, da Sie nur den Deckel des Core X öffnen, RTX 2080SP im internen PCI-Steckplatz installieren und das Netzkabel (8-polig, 6-polig) anschließen. Aufgrund der großen Gehäusegröße ist die Verarbeitbarkeit jedoch schlecht oder der Steckplatz schlecht Es kann schwierig sein zu überprüfen, ob es in ist. Stellen Sie nach dem Zusammenbau noch keine Verbindung zum PC her. Anschließend wird beschrieben, wie Sie das CUDA Toolkit einrichten und die eGPU mit dem NVIDIA-Treiber ausführen. Das Einrichten mit einer seltenen Konfiguration mit zu wenigen Dokumenten ist jedoch nicht einfach und wird von Trial & Error nach mehrmaliger Wiederherstellung und Neuinstallation des Treibers gefunden. : dancer :: dancer_tone :: dancer_tone2 :: dancer_tone3 :: dancer_tone4 :: dancer_tone5:

: unschuldig: Wie man ab März 2020 eine eGPU einrichtet. : warning: Es soll als reine Linux-Maschine eingerichtet werden.

BIOS-Update

Ich habe viel nach dem Setup gesucht und festgestellt, dass die BIOS-Version des Intel NUC 8i7BEH, die für meinen eigenen PC verwendet wurde, alt war (0064) und die neueste Version 0077 war. Anscheinend scheint 0064 die Version zu sein, bevor die RTX-Serie verkauft wurde, also habe ich beschlossen, sie zu aktualisieren.

Deaktivieren Sie den sicheren Start

Der für diese Konstruktion verwendete Intel NUC ist ein UEFI-kompatibles Modell, und der sichere Start ist möglicherweise aktiviert. Deaktivieren Sie in diesem Fall zuerst den sicheren Start und richten Sie ihn dann ein. Um mit aktiviertem Secure Boot einzurichten, müssen Sie den Schlüssel registrieren. Derzeit gibt es keine Garantie dafür, dass die eGPU ordnungsgemäß funktioniert. Daher ist sie deaktiviert. Wenn Sie jedoch in Zukunft Ihr Verständnis für Secure Boot und UEFI vertiefen, möchte ich das Setup ausprobieren, wenn Secure Boot aktiviert ist.

: Warnung: Wenn Sie den oben genannten Vorgang ausführen, ist ein Dual-Boot mit Windows nicht möglich. : Schrei:

secure boot

Lassen Sie UEFI den dritten Balken laden

Installieren Sie einen NVIDIA-Treiber namens NVIDIA-Treiber, um den RTX2080SP zu betreiben. Wenn Sie das BIOS nicht so einstellen, dass UEFI Treiber von Drittanbietern laden kann, lädt UEFI den NVIDIA-Treiber nicht und Sie können den RTX 2080SP nicht verwenden.

third party

OpenSSH Server Setup (wenn Sie zwei oder mehr PCs haben)

Wenn Sie zwei oder mehr PCs haben, ist es praktisch, sich bei dem PC anzumelden, der mit SSH eingerichtet werden soll. Installieren Sie OpenSSH Server, damit Sie sich mit SSH anmelden können. (Da das Betriebssystem möglicherweise nicht die neueste Version ist, werden wir auch ein passendes Upgrade implementieren.)

sudo apt install -y openssh-server

Ich denke, dass die auszuwählende Umgebung je nach Ihren Vorlieben und Ihrer Umgebung unterschiedlich sein wird, z. B. die Methode zum Anmelden ohne Kennwort mithilfe einer Schlüsseldatei und die Methode zum Anmelden mit einem Kennwort. Bitte beachten Sie die Artikel im Internet für jede Einstellungsmethode.

eGPU-Verbindung und Thunderbolt 3-Authentifizierung

Verbinden Sie die eGPU mit dem PC-Gehäuse. Wenn Sie Ihren PC starten, dreht sich der Lüfter mit einem dröhnenden Geräusch. Dies ist keine Fehlfunktion, sondern ein Vorgang, der auftritt, weil die Hauptfunktionen wie die Lüftersteuerung nicht funktionieren, weil die Zertifizierung des Thuderbolt 3-Geräts nicht abgeschlossen wurde. Wenn die GUI aktiviert ist (Desktop-Version), wird ein Bildschirm angezeigt, in dem Sie zur Kennwortauthentifizierung aufgefordert werden. Geben Sie das Kennwort ein, und die Explosion wird beendet. Diese Methode kann bei Verwendung der CLI nicht verwendet werden. Daher wird beschrieben, wie Sie sich auch in der CLI-Umgebung authentifizieren.

Überprüfen der UUID des Thunderbolt 3-Geräts

Verwenden Sie den Befehl bolctl, um die UUID eines Thunderbolt 3-Geräts (Core X in diesem Artikel) herauszufinden. Die folgende Anzeige erscheint. Notieren Sie sich uuid.

$ boltctl 
 ● Razer Core X
   ├─ type:          peripheral
   ├─ name:          Core X
   ├─ vendor:        Razer
   ├─ uuid:          <Einzigartige UUID>
   ├─ status:        connected
   │  ├─ domain:     domain0
   │  └─ authflags:  none
   ├─ connected:     <Datum und Uhrzeit der Verbindung>
   └─ stored:        no

Führen Sie die Authentifizierung durch

Führen Sie die Authentifizierung mit dem folgenden Befehl aus. Sie werden aufgefordert, das Kennwort einzugeben. Geben Sie also das Benutzerkennwort ein, und Sie sind fertig.

sudo boltctl authorize <Uuid>

Wenn die Authentifizierung abgeschlossen ist, wird die Explosion gestoppt.

Wenn Sie nach der Authentifizierung "Boltctl" ausführen, wird Folgendes angezeigt.


$ boltctl 
 ● Razer Core X
   ├─ type:          peripheral
   ├─ name:          Core X
   ├─ vendor:        Razer
   ├─ uuid:          <Einzigartige UUID>
   ├─ status:        authorized
   │  ├─ domain:     domain0
   │  └─ authflags:  none
   ├─ authorized:    <Datum und Uhrzeit des Abschlusses der Authentifizierung>
   ├─ connected:     <Datum und Uhrzeit der Verbindung>
   └─ stored:        no

Die Authentifizierungsinformationen werden nicht so gespeichert, wie sie sind, und die Authentifizierungsinformationen gehen beim Herunterfahren verloren (Rückkehr der Explosion). Stellen Sie daher die automatische Authentifizierung ein.


boltcl enroll --policy auto <Uuid>

Ausführungsergebnis

● Razer Core X                                                                                                                                                                                                    
   ├─ type:          peripheral
   ├─ name:          Core X
   ├─ vendor:        Razer
   ├─ uuid:          <Einzigartige UUID>
   ├─ dbus path:     /org/freedesktop/bolt/devices/<Einzigartige UUID>
   ├─ status:        authorized
   │  ├─ domain:     domain0
   │  ├─ parent:     c7010000-0090-8d18-a3c2-b11ccc631023
   │  ├─ syspath:    /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:00.0/0000:04:00.0/domain0/0-0/0-1
   │  └─ authflags:  none
   ├─ authorized:    <Datum und Uhrzeit der Zertifizierung>
   ├─ connected:     <Datum und Uhrzeit der Verbindung>
   └─ stored:        <Datum und Uhrzeit der Speicherung der Anmeldeinformationen>
      ├─ policy:     auto
      └─ key:        no

Der Jugendstilfahrer hielt an

Wenn Sie eine NVIDIA-Grafikkarte an Linux anschließen, wird der OSS-Versionstreiber Nouveau-Treiber aktiviert, der durch Reverse Engineering des NVIDIA-Treibers implementiert wird. Führen Sie zur Überprüfung den folgenden Befehl aus.

lsmod | grep nouveau

Wenn aktiviert, wird das Jugendstilelement angezeigt. Führen Sie den folgenden Befehl aus, um ihn zu deaktivieren.

sudo sh -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"
sudo sh -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo update-initramfs -u
sudo reboot

NVIDIA-Treiber-Setup

Fügen Sie das Repository zu Ubuntus apt hinzu und installieren Sie den Treiber. Die Installationsmethode über das offizielle NVIDA-Skript konnte mit der in diesem Artikel getesteten Konfiguration (eGPU-Konfiguration) nicht ordnungsgemäß ausgeführt werden.

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices
Wenn Sie Ubuntu-Treiber-Geräte ausführen, wird die folgende Anzeige angezeigt. (Die Anzeige variiert je nach Ausführungsumgebung.)
vendor   : NVIDIA Corporation
driver   : nvidia-driver-440 - third-party free recommended
driver   : nvidia-driver-435 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

Installieren Sie zum Zeitpunkt der Installation die empfohlene Version.

sudo apt install nvidia-driver-xxx
sudo reboot
Überprüfen Sie nach dem Neustart den GPU-Status mit dem Befehl `nvidia-smi`.

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64       Driver Version: 440.64       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:07:00.0 Off |                  N/A |
|  0%   38C    P8    16W / 250W |      0MiB /  7982MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

eGPU Switcher-Setup (X-Window-System läuft auf eGPU)

Als ich die eGPU einrichtete, blieb das X-Window-System hängen (dh die GUI wurde nicht gestartet) und ich habe viel gearbeitet, aber es hat sich überhaupt nicht verbessert. Nimm den Rest. Ich habe mich gefragt, ob die gesamte Investition bisher auf Wasserblasen zurückzuführen ist: schreien :, aber eine Community, die die Verbreitung von eGPU fördert, wurde ins Leben gerufen, und diese Community Lösung wird auf der Seite veröffentlicht. War dort. In Übersee beginnt diese Art von Community sehr schnell. Dieses Mal wollte ich meine Englischkenntnisse wirklich verbessern und aktiv teilnehmen können. Wenn Sie den eGPU Switcher einrichten, können Sie auch den Videoausgang auf dem Motherboard verwenden, um die eGPU nach Bedarf ein- und auszuschalten.

sudo add-apt-repository ppa:hertg/egpu-switcher
sudo apt update
sudo apt install -y egpu-switcher
sudo egpu-switcher setup
sudo reboot

Führen Sie danach die angezeigten Optionen (GPU-Auswahl usw.) aus und starten Sie neu, um das X-Window-System auf der eGPU zu starten. Schließen Sie nach dem Neustart das Kabel an den Ausgangsanschluss auf der Grafikkartenseite an, und die GUI wird auf dem Display angezeigt. (Empfohlene Verbindung vor dem Booten)

Beispiel für den Setup-Prozess des egpu-switcher

Found 2 possible GPUs...

  1: NVIDIA Corporation Device 1e81 (rev a1) (7:0:0)
  2: Intel Corporation Device 3ea5 (rev 01) (0:2:0)

Would you like to define a specific INTERNAL GPU? [y/N]: y
Choose your preferred INTERNAL GPU [1-2]: 2
Choose your preferred EXTERNAL GPU [1-2]: 1

[info] Saved new configuration to /etc/egpu-switcher/egpu-switcher.conf
[info] Automatically detecting if egpu is connected... 
[info] EGPU is connected.
[info] Create symlink /etc/X11/xorg.conf -> /etc/X11/xorg.conf.egpu
Created symlink /etc/systemd/system/multi-user.target.wants/egpu.service → /etc/systemd/system/egpu.service.
[success] Done... Setup finished
Beispiel für `nvidia-smi` nach dem Neustart anzeigen

$ nvidia-smi 
Sun Mar 15 17:37:20 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64       Driver Version: 440.64       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:07:00.0  On |                  N/A |
|  0%   30C    P8    17W / 250W |    240MiB /  7973MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1324      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      1446      G   /usr/bin/gnome-shell                          49MiB |
|    0      1627      G   /usr/lib/xorg/Xorg                            96MiB |
|    0      1772      G   /usr/bin/gnome-shell                          72MiB |
+-----------------------------------------------------------------------------+


Installieren des CUDA Toolkit

Sie können es mit dem folgenden Befehl installieren.

sudo apt install -y nvidia-cuda-*
sudo reboot

Ich habe festgestellt, dass bei der Installation mit dieser Methode das CUDA 9.1 Toolkit installiert wird. Ich möchte das neueste CUDA-Toolkit hier installieren, daher wird es endlich hier veröffentlicht offizielle NVIDIA-Website Installieren Sie nach der Methode.


wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt update
sudo apt -y install cuda

Registrieren Sie nach der Installation den folgenden PFAD in .bashrc.


export cuda_version=$(/usr/local/cuda/bin/nvcc -V | grep "Cuda compilation" | awk '{print $5}' | awk '{sub(",.*","");print $1;}')
export PATH=/usr/local/cuda-${cuda_version}/bin:$PATH
export CPATH=/usr/local/cuda-${cuda_version}/include:$CPATH
export LIBRARY_PATH=/usr/local/cuda-${cuda_version}/lib64:$LIBRARY_PATH
  • Postskriptum 2020/3/16: Geändert, sodass PATH auch dann übergeben werden kann, wenn sich die CUDA-Version ändert

CUDA-Funktionsprüfung

Erstellen Sie nach dem Neustart die folgende Testquelle und führen Sie sie mit nvcc aus.

hello.cu


#include <stdio.h>

__global__ void helloFromGPU()
{
    printf("Hello World from GPU\n");
}

int main(void)
{
    printf("Hello World from CPU\n");

    helloFromGPU <<<1, 10>>>();
    cudaDeviceReset();
    return 0;
}
Wenn Folgendes angezeigt wird, ist die Einrichtung erfolgreich.

Bauen und ausführen


$ nvcc hello.cu
$ ./a.out 
Hello World from CPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU

Neueste architekturkompatible Version(2020/3 Derzeit)



$ nvcc -arc sm_75 hello.cu
$ ./a.out 
Hello World from CPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU
Hello World from GPU

Referenz: https://developer.nvidia.com/cuda-gpus

Nachtrag: Bestätigung durch lspci

Überprüfen Sie nach Abschluss des Setups den Status mit dem Befehl lspci. Zu diesem Zeitpunkt wird der Name der GPU möglicherweise nicht korrekt wiedergegeben. Führen Sie in diesem Fall den Befehl update-pciids aus, um den Namen korrekt wiederzugeben.

Referenz: https://www.nemotos.net/?p=3176


$ lspci | grep -i nvidia                                                                                                                   
07:00.0 VGA compatible controller: NVIDIA Corporation Device 1e81 (rev a1) 
07:00.1 Audio device: NVIDIA Corporation Device 10f8 (rev a1) 
07:00.2 USB controller: NVIDIA Corporation Device 1ad8 (rev a1) 
07:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad9 (rev a1) 
$ sudo update-pciids
Downloaded daily snapshot dated 2020-03-07 03:15:01
$ lspci | grep -i nvidia
07:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER](rev a1) 
07:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1) 
07:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1) 
07:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)

2020/4/12 postscript Installation von cuDNN

Ich werde hinzufügen, wie die Bibliothek cuDNN für die Hochgeschwindigkeitsberechnung von Deep Neural Network installiert wird.

Melden Sie sich auf der Download-Seite des Installationsprogramms an

Gehen Sie zur Download-Seite (https://developer.nvidia.com/rdp/form/cudnn-download-survey). Zum Herunterladen ist eine Registrierung der Mitgliedschaft erforderlich. Klicken Sie beim ersten Herunterladen auf "Jetzt beitreten", um sich als Mitglied zu registrieren.

cudnn login.png

Klicken Sie nach Abschluss der Registrierung auf "Anmelden", um sich auf der Download-Seite anzumelden. Aktivieren Sie "Ich stimme den Bedingungen der cuDNN-Softwarelizenzvereinbarung zu". Eine Liste der herunterladbaren cuDNNs wird angezeigt. Laden Sie die Version von cuDNN herunter, die Ihrem Betriebssystem und der von Ihnen installierten CUDA-Version entspricht.

cudnn download.png

Erklärt am Beispiel der cuDNN Library für Linux

Das Folgende ist ein Beispiel für "cuDNN v7.6.5 (18. November 2019) für CUDA 10.2". Klicken Sie auf den Link "cuDNN Library for Linux", um den Download der "tar file" zu starten.

download sources.png

Wechseln Sie in das Verzeichnis, in dem die Quelle gespeichert ist, und entpacken Sie die TAR-Datei.

tar xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

Ein Verzeichnis namens "cuda" wird erstellt und Dateien werden darin erweitert.

cuda/
├── NVIDIA_SLA_cuDNN_Support.txt
├── include
│   └── cudnn.h
└── lib64
    ├── libcudnn.so -> libcudnn.so.7
    ├── libcudnn.so.7 -> libcudnn.so.7.6.5
    ├── libcudnn.so.7.6.5
    └── libcudnn_static.a

Speicherung von Quelldateien

/ usr / local / cuda-Store cudnn.h im Verzeichnis includeim Verzeichnis <CUDA_VERSION>und die Quelldateien in cuda / lib64 im Verzeichnis lib64. Damit ist die Installation von cuDNN abgeschlossen.

Zusammenfassung

Wir haben eine eGPU mit Razer Core X und NVIDIA Geforce RTX 2080 SUPER erstellt, sie an einen Linux-Computer angeschlossen und verschiedene Dinge eingerichtet. Diesmal war es eine Bauarbeit, die sowohl die Stärke als auch die Schwäche von OSS erlebte. In Zukunft möchte ich diese Workstation voll ausnutzen, indem ich den Jupyter Lab-Server mit Docker und die Umgebung von K8S aufbaue.

Reference [Mein Memorandum-etwas-](https://orebibou.com/2016/02/linuxunix%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3% 81% 8B% E3% 82% 89% E7% 89% B9% E5% AE% 9A% E9% 83% A8% E5% 88% 86% E5% 8F% B3% E3% 81% 8B% E3% 82% 89% E3% 83% BB% E5% B7% A6% E3% 81% 8B% E3% 82% 89% E4% BD% 95% E5% 80% 8B% E3% 80% 81% E3% 80% 87 / # i-6)

Recommended Posts

Planen Sie die Konvertierung eines hochspezifizierten Linux-Desktops in eine Deep Learning Workstation mit eGPU (eGPU-Setup).
Linux-Lernprotokoll ① Planen
Erstellen Sie mit Docker eine Umgebung für "Deep Learning von Grund auf neu"
Versuchen Sie es mit TensorFlow
Python-Lernplan für KI-Lernen
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Linux am schnellsten mit AWS lernen
Generiere Pokemon mit Deep Learning
Ich suchte mit Deep Learning nach einer ähnlichen Karte von Hearthstone
Maschinelles Lernen mit Docker (42) Programmieren von PyTorch für Deep Learning Von Ian Pointer
Ich habe mit ChainerRL Deep Enforcement Learning (Double DQN) ausprobiert
Multi Layer Perceptron für Deep Learning (Deep Learning mit Python; MPS Yokohama Deep Learning Series)