Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

GPU-Einrichtung

Beitragende

Zum Zeitpunkt der Veröffentlichung bietet das GATK-Tool keine native Unterstützung für die GPU-basierte Ausführung vor Ort. Die folgende Einrichtung und Anleitung werden bereitgestellt, damit die Leser verstehen können, wie einfach es ist, FlexPod mit einer an der Rückseite montierten NVIDIA Tesla P6 GPU mit einer PCIe Mezzanine-Karte für GATK zu verwenden.

Zur Einrichtung der FlexPod Umgebung haben wir folgendes Cisco Validated Design (CVD) als Referenzarchitektur und Best Practice Guide verwendet. Damit können wir Applikationen ausführen, die GPUs verwenden.

Kernpunkte dieses Setups:

  1. Wir haben eine PCIe NVIDIA Tesla P6 GPU in einem Mezzanine-Steckplatz in den UCS B200 M5 Servern verwendet.

    Fehler: Fehlendes Grafikbild

    Fehler: Fehlendes Grafikbild

  2. Wir haben uns für dieses Setup im NVIDIA Partner-Portal registriert und eine Evaluierungslizenz (auch als Berechtigung bekannt) erhalten, die GPUs im Compute-Modus verwenden kann.

  3. Wir haben die erforderliche NVIDIA vGPU-Software von der NVIDIA-Partner-Website heruntergeladen.

  4. Wir haben die Berechtigung heruntergeladen *.bin Datei von der NVIDIA-Partner-Website.

  5. Wir installierten einen NVIDIA vGPU-Lizenzserver und fügten die Berechtigungen unter Verwendung von dem auf dem Lizenzserver hinzu *.bin Datei wird von der NVIDIA-Partnerwebsite heruntergeladen.

  6. Stellen Sie sicher, dass Sie die richtige NVIDIA vGPU-Softwareversion für Ihre Implementierung im NVIDIA-Partnerportal auswählen. Für dieses Setup haben wir Treiberversion 460.73.02 verwendet.

  7. Mit diesem Befehl wird der installiert "NVIDIA vGPU Manager" In ESXi.

    [root@localhost:~] esxcli software vib install -v /vmfs/volumes/infra_datastore_nfs/nvidia/vib/NVIDIA_bootbank_NVIDIA-VMware_ESXi_7.0_Host_Driver_460.73.02-1OEM.700.0.0.15525992.vib
    Installation Result
    Message: Operation finished successfully.
    Reboot Required: false
    VIBs Installed: NVIDIA_bootbank_NVIDIA-VMware_ESXi_7.0_Host_Driver_460.73.02-1OEM.700.0.0.15525992
    VIBs Removed:
    VIBs Skipped:
  8. Führen Sie nach dem Neubooten des ESXi-Servers den folgenden Befehl aus, um die Installation zu validieren und den Zustand der GPUs zu überprüfen.

    [root@localhost:~] nvidia-smi
    Wed Aug 18 21:37:19 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.73.02    Driver Version: 460.73.02    CUDA Version: N/A      |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla P6            On   | 00000000:D8:00.0 Off |                    0 |
    | N/A   35C    P8     9W /  90W |  15208MiB / 15359MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A   2812553    C+G   RHEL01                          15168MiB |
    +-----------------------------------------------------------------------------+
    [root@localhost:~]
  9. Mit vCenter "Konfigurieren" Die Einstellungen des Grafikgeräts auf „Shared Direct“.

    Fehler: Fehlendes Grafikbild

    Fehler: Fehlendes Grafikbild

  10. Vergewissern Sie sich, dass der sichere Boot für die RedHat-VM deaktiviert ist.

  11. Stellen Sie sicher, dass die Firmware für VM-Startoptionen auf EFI ( gesetzt ist "ref").

    Fehler: Fehlendes Grafikbild

  12. Stellen Sie sicher, dass die folgenden PARAMS zur erweiterten Konfiguration der VM-Optionen hinzugefügt werden. Der Wert des pciPassthru.64bitMMIOSizeGB Parameter hängt vom GPU-Speicher und der Anzahl der der der VM zugewiesenen GPUs ab. Beispiel:

    1. Wenn einer VM 4 x 32-GB-V100-GPUs zugewiesen sind, sollte dieser Wert 128 sein.

    2. Wenn einer VM 4 x 16-GB-P6-GPUs zugewiesen sind, sollte dieser Wert 64 sein.

      Fehler: Fehlendes Grafikbild

    Fehler: Fehlendes Grafikbild

  13. Wenn Sie der virtuellen Maschine in vCenter vGPUs als neues PCI-Gerät hinzufügen, stellen Sie sicher, dass Sie NVIDIA GRID vGPU als PCI-Gerätetyp auswählen.

  14. Wählen Sie das richtige GPU-Profil aus, das die verwendete GPU, den GPU-Speicher und den Nutzungszweck anführt, z. B. Grafik oder Rechner.

    Fehler: Fehlendes Grafikbild

  15. Auf der RedHat Linux VM können NVIDIA-Treiber installiert werden, indem Sie den folgenden Befehl ausführen:

    [root@genomics1 genomics]#sh NVIDIA-Linux-x86_64-460.73.01-grid.run
  16. Überprüfen Sie, ob das richtige vGPU-Profil angegeben wird, indem Sie den folgenden Befehl ausführen:

    [root@genomics1 genomics]# nvidia-smi –query-gpu=gpu_name –format=csv,noheader –id=0 | sed -e ‘s/ /-/g’
    GRID-P6-16C
    [root@genomics1 genomics]#
  17. Überprüfen Sie nach dem Neubooten, ob die richtigen NVIDIA vGPU-Versionen zusammen mit den Treiberversionen gemeldet werden.

    [root@genomics1 genomics]# nvidia-smi
    Wed Aug 18 20:30:56 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GRID P6-16C         On   | 00000000:02:02.0 Off |                  N/A |
    | N/A   N/A    P8    N/A /  N/A |   2205MiB / 16384MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A      8604      G   /usr/libexec/Xorg                  13MiB |
    +-----------------------------------------------------------------------------+
    [root@genomics1 genomics]#
  18. Stellen Sie sicher, dass die IP-Adresse des Lizenzservers auf der VM in der vGPU-Grid-Konfigurationsdatei konfiguriert ist.

    1. Kopieren Sie die Vorlage.

      [root@genomics1 genomics]# cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
    2. Bearbeiten Sie die Datei /etc/nvidia/rid.conf, Fügen Sie die IP-Adresse des Lizenzservers hinzu und setzen Sie den Funktionstyp auf 1.

       ServerAddress=192.168.169.10
       FeatureType=1
  19. Nach dem Neustart der VM sollten Sie einen Eintrag unter lizenzierte Clients im Lizenzserver sehen, wie unten gezeigt.

    Fehler: Fehlendes Grafikbild

  20. Weitere Informationen zum Herunterladen der Software GATK und Cromwell finden Sie im Abschnitt Solutions Setup.

  21. Nachdem GATK GPUs vor Ort, die Workflow-Beschreibungssprache, verwenden kann *. wdl Enthält die Laufzeitattribute wie unten dargestellt.

    task ValidateBAM {
      input {
        # Command parameters
        File input_bam
        String output_basename
        String? validation_mode
        String gatk_path
        # Runtime parameters
        String docker
        Int machine_mem_gb = 4
        Int addtional_disk_space_gb = 50
      }
      Int disk_size = ceil(size(input_bam, "GB")) + addtional_disk_space_gb
      String output_name = "${output_basename}_${validation_mode}.txt"
      command {
        ${gatk_path} \
          ValidateSamFile \
          --INPUT ${input_bam} \
          --OUTPUT ${output_name} \
          --MODE ${default="SUMMARY" validation_mode}
      }
      runtime {
        gpuCount: 1
        gpuType: "nvidia-tesla-p6"
        docker: docker
        memory: machine_mem_gb + " GB"
        disks: "local-disk " + disk_size + " HDD"
      }
      output {
        File validation_report = "${output_name}"
      }
    }