Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Configurazione della GPU

Collaboratori

Al momento della pubblicazione, il tool GATK non supporta in modo nativo l'esecuzione on-premise basata su GPU. La seguente configurazione e guida consentono ai lettori di comprendere quanto sia semplice utilizzare FlexPod con una GPU NVIDIA Tesla P6 montata sul retro utilizzando una scheda mezzanine PCIe per GATK.

Abbiamo utilizzato il seguente progetto validato da Cisco (CVD) come architettura di riferimento e guida alle Best practice per configurare l'ambiente FlexPod in modo da poter eseguire applicazioni che utilizzano GPU.

Ecco una serie di punti chiave durante questa configurazione:

  1. Abbiamo utilizzato una GPU NVIDIA Tesla P6 PCIe in uno slot mezzanino nei server UCS B200 M5.

    Errore: Immagine grafica mancante

    Errore: Immagine grafica mancante

  2. Per questa configurazione, ci siamo registrati sul portale partner NVIDIA e abbiamo ottenuto una licenza di valutazione (nota anche come diritto) per poter utilizzare le GPU in modalità di calcolo.

  3. Il software NVIDIA vGPU richiesto è stato scaricato dal sito Web del partner NVIDIA.

  4. Abbiamo scaricato i diritti *.bin Dal sito web del partner NVIDIA.

  5. Abbiamo installato un server di licenza NVIDIA vGPU e aggiunto le autorizzazioni al server di licenza utilizzando *.bin File scaricato dal sito del partner NVIDIA.

  6. Assicurarsi di scegliere la versione software NVIDIA vGPU corretta per l'implementazione sul portale dei partner NVIDIA. Per questa configurazione è stata utilizzata la versione del driver 460.73.02.

  7. Questo comando installa "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. Dopo aver riavviato il server ESXi, eseguire il seguente comando per convalidare l'installazione e controllare lo stato delle GPU.

    [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. Utilizzando vCenter, "configurare" L'impostazione del dispositivo grafico è "Shared Direct".

    Errore: Immagine grafica mancante

    Errore: Immagine grafica mancante

  10. Assicurarsi che l'avvio sicuro sia disattivato per la macchina virtuale RedHat.

  11. Assicurarsi che il firmware VM Boot Options sia impostato su EFI ( "rif").

    Errore: Immagine grafica mancante

  12. Assicurarsi che i SEGUENTI PARAMETRI siano aggiunti alla configurazione avanzata di modifica delle opzioni della macchina virtuale. Il valore di pciPassthru.64bitMMIOSizeGB Il parametro dipende dalla memoria della GPU e dal numero di GPU assegnate alla VM. Ad esempio:

    1. Se a una macchina virtuale sono assegnate 4 GPU V100 da 32 GB, questo valore deve essere 128.

    2. Se a una macchina virtuale sono assegnate 4 GPU P6 da 16 GB, questo valore deve essere 64.

      Errore: Immagine grafica mancante

    Errore: Immagine grafica mancante

  13. Quando si aggiungono vGPU come nuovo dispositivo PCI alla macchina virtuale in vCenter, assicurarsi di selezionare NVIDIA GRID vGPU come tipo di dispositivo PCI.

  14. Scegliere il profilo GPU corretto che si adatta alla GPU utilizzata, alla memoria GPU e allo scopo di utilizzo: Ad esempio, grafica o calcolo.

    Errore: Immagine grafica mancante

  15. Su RedHat Linux VM, i driver NVIDIA possono essere installati eseguendo il seguente comando:

    [root@genomics1 genomics]#sh NVIDIA-Linux-x86_64-460.73.01-grid.run
  16. Verificare che venga segnalato il profilo vGPU corretto eseguendo il seguente comando:

    [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. Dopo il riavvio, verificare che la scheda NVIDIA vGPU corretta sia riportata insieme alle versioni dei driver.

    [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. Assicurarsi che l'IP del server di licenza sia configurato sulla macchina virtuale nel file di configurazione della griglia vGPU.

    1. Copiare il modello.

      [root@genomics1 genomics]# cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
    2. Modificare il file /etc/nvidia/rid.conf, Aggiungere l'indirizzo IP del server di licenza e impostare il tipo di funzione su 1.

       ServerAddress=192.168.169.10
       FeatureType=1
  19. Dopo aver riavviato la macchina virtuale, nel server di licenza viene visualizzata una voce sotto Licensed Clients (Client concessi in licenza), come mostrato di seguito.

    Errore: Immagine grafica mancante

  20. Per ulteriori informazioni sul download del software GATK e Cromwell, consultare la sezione Solutions Setup.

  21. Dopo che GATK può utilizzare le GPU on-premise, il linguaggio di descrizione del workflow *. wdl ha gli attributi di runtime come mostrato di seguito.

    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}"
      }
    }