Delen via


Rekenkracht met GPU

Notitie

Sommige instance-typen met GPU-functionaliteit bevinden zich in Beta en worden als zodanig gemarkeerd in de vervolgkeuzelijst wanneer u het stuurprogramma en werkroltypen selecteert tijdens het aanmaken van de rekenomgeving.

Overzicht

Azure Databricks ondersteunt versnelde berekeningen met GPU's (Graphics Processing Units). In dit artikel wordt beschreven hoe u rekenkracht maakt met instanties met GPU en hoe u de GPU-stuurprogramma's en bibliotheken beschrijft die op deze exemplaren zijn geïnstalleerd.

Zie Deep Learning voor meer informatie over deep learning op gpu-rekenkracht.

Een GPU-rekenproces maken

Het maken van een GPU-rekenproces is vergelijkbaar met het maken van elke rekenkracht. Houd rekening met het volgende:

  • De Databricks Runtime-versie moet een gpu-versie zijn, zoals Runtime 13.3 LTS ML (GPU, Scala 2.12.15, Spark 3.4.1).
  • Het werkroltype en het stuurprogrammatype moeten GPU-exemplaartypen zijn.

Ondersteunde exemplaartypen

Waarschuwing

Azure Databricks ondersteunt niet langer het opstarten van rekenkracht met behulp van de NC v3-instance-type-reeks, aangezien Azure de ondersteuning voor NC24rs vanaf 31 maart 2025 en voor NC6s_v3, NC12s_v3 en NC24s_v3 tegen 30 september 2025beëindigt.

Azure Databricks ondersteunt de volgende exemplaartypen:

NCads_H100_v5

  • GPU-type: NVIDIA H100 NVL GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_NC40ads_H100_v5 1 94 GB 40 320 GB
Standard_NC80adis_H100_v5 2 94 GB x 2 80 640 GB

ND_H100_v5

  • GPU-type: NVIDIA H100 Tensor Core GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_ND96isr_H100_v5 8 80 GB x 8 96 1900GB

NC_A100_v4

  • GPU-type: NVIDIA A100 PCIe GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_NC24ads_A100_v4 1 80 GB 24 220 GB
Standard_NC48ads_A100_v4 1 80 GB x 2 48 440 GB
Standard_NC96ads_A100_v4 1 80 GB x 4 96 880 GB

NDasrA100_v4

  • GPU-type: NVIDIA Ampere A100 40 GB Tensor Core GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_ND96asr_v4 8 40 GB x 8 96 900 GB

NVadsA10_v5

  • GPU-type: NVIDIA A10 GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_NV36ads_A10_v5 1 24 GB 36 440 GB
Standard_NV36adms_A10_v5 1 24 GB 36 880 GB
Standard_NV72ads_A10_v5 2 24 GB x 2 72 880 GB

NCasT4_v3

  • GPU-type: NVIDIA T4 GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_NC4as_T4_v3 1 16 GB 4 28 GB
Standard_NC8as_T4_v3 1 16 GB 8 56 GB
Standard_NC16as_T4_v3 1 16 GB 16 110 GB
Standard_NC64as_T4_v3 4 16 GB x 4 64 440 GB

NC_v3

  • GPU-type: NVIDIA Tesla V100 GPU
Instantienaam Aantal GPU's GPU-geheugen vCPU's CPU-geheugen
Standard_NC6s_v3 1 16 GB 6 112 GB
Standard_NC12s_v3 2 16 GB x 2 12 224 GB
Standard_NC24s_v3 4 16 GB x 4 24 448 GB
Standard_NC24rs_v3 4 16 GB x 4 24 448 GB

Zie Prijzen van Azure Databricks voor een up-to-datumlijst met ondersteunde GPU-exemplaartypen en hun beschikbaarheidsregio's. Uw Azure Databricks-implementatie moet zich in een ondersteunde regio bevinden om rekenkracht met GPU te starten.

GPU-planning

GPU-planning verdeelt Spark-taken efficiënt over een groot aantal GPU's.

Databricks Runtime biedt ondersteuning voor GPU-compatibele planning van Apache Spark 3.0. Azure Databricks configureert deze vooraf op GPU-rekenkracht.

Notitie

GPU-planning is niet ingeschakeld voor rekenkracht met één knooppunt.

GPU-planning voor AI en ML

spark.task.resource.gpu.amount is de enige Spark-configuratie die betrekking heeft op GPU-compatibele planning die u mogelijk moet configureren. Voor de standaardconfiguratie wordt één GPU per taak gebruikt. Dit is een goede basislijn voor gedistribueerde deductieworkloads en gedistribueerde training als u alle GPU-knooppunten gebruikt.

Om de communicatieoverhead tijdens gedistribueerde training te verminderen, raadt Databricks aan om het aantal GPU's per werkknooppunt in de compute spark.task.resource.gpu.amount in te stellen. Hiermee maakt u slechts één Spark-taak voor elke Spark-werkrol en wijst u alle GPU's in dat werkknooppunt toe aan dezelfde taak.

Als u de parallellisatie voor gedistribueerde deep learning-deductie wilt verhogen, kunt u spark.task.resource.gpu.amount instellen op breukwaarden zoals 1/2, 1/3, 1/4, ... 1/N. Hierdoor worden meer Spark-taken gemaakt dan er GPU's zijn, zodat meer gelijktijdige taken deductieaanvragen parallel kunnen verwerken. Als u bijvoorbeeld spark.task.resource.gpu.amount instelt op 0.5, 0.33of 0.25, worden de beschikbare GPU's verdeeld over een tweevoudig, drievoudig of viervoudig aantal taken.

GPU-indexen

Voor PySpark-taken wijst Azure Databricks toegewezen GPU('s) automatisch opnieuw toe aan indexen op basis van nul. Voor de standaardconfiguratie die één GPU per taak gebruikt, kunt u de standaard-GPU gebruiken zonder te controleren welke GPU aan de taak is toegewezen. Als u meerdere GPU's per taak instelt, bijvoorbeeld 4, zijn de indexen van de toegewezen GPU's altijd 0, 1, 2 en 3. Als u de fysieke indexen van de toegewezen GPU's nodig hebt, kunt u deze ophalen uit de omgevingsvariabele CUDA_VISIBLE_DEVICES.

Als u Scala gebruikt, kunt u de indexen ophalen van de GPU's die aan de taak zijn toegewezen vanuit TaskContext.resources().get("gpu").

NVIDIA GPU-stuurprogramma, CUDA en cuDNN

Azure Databricks installeert het NVIDIA-stuurprogramma en de bibliotheken die zijn vereist voor het gebruik van GPU's op Spark-stuurprogramma's en werkrolexemplaren:

  • CUDA Toolkit, geïnstalleerd onder /usr/local/cuda.
  • cuDNN: NVIDIA CUDA Deep Neural Network Library.
  • NCCL: NVIDIA Collective Communications Library.

De versie van het NVIDIA-stuurprogramma is 535.54.03, die CUDA 11.0 ondersteunt. Voor de NV A10 v5-exemplaartypereeks is 535.154.05de versie van het NVIDIA-stuurprogramma opgenomen.

Zie de releaseopmerkingen voor de specifieke Databricks Runtime-versie die u gebruikt voor de versies van de bibliotheken die u gebruikt.

Notitie

Deze software bevat broncode die wordt geleverd door NVIDIA Corporation. Om GPU's te ondersteunen, bevat Azure Databricks code uit CUDA-voorbeelden.

NVIDIA-gebruiksrechtovereenkomst (EULA)

Wanneer u een GPU-compatibele "Databricks Runtime-versie" selecteert in Azure Databricks, gaat u impliciet akkoord met de voorwaarden en condities zoals uiteengezet in de NVIDIA-gebruiksrechtovereenkomst met betrekking tot de CUDA-, cuDNN- en Tesla-bibliotheken en de NVIDIA Eindgebruikerslicentieovereenkomst (met NCCL-supplement) voor de NCCL-bibliotheek.

Databricks Container Services op GPU-rekenkracht

Belangrijk

Deze functie is beschikbaar als openbare preview.

U kunt Databricks Container Services gebruiken voor berekening met GPU's om draagbare Deep Learning-omgevingen te maken met aangepaste bibliotheken. Zie Containers aanpassen met Databricks Container Service voor instructies.

Als u aangepaste afbeeldingen voor GPU-berekeningen wilt maken, moet u een standaardruntimeversie selecteren in plaats van Databricks Runtime ML voor GPU. Wanneer u Uw eigen Docker-containergebruiken selecteert, kunt u GPU-rekenkracht kiezen met een standaardruntimeversie. De aangepaste installatiekopieën voor GPU zijn gebaseerd op de officiële CUDA-containers, die afwijken van Databricks Runtime ML voor GPU.

Wanneer u aangepaste installatiekopieën voor GPU-rekenkracht maakt, kunt u de versie van het NVIDIA-stuurprogramma niet wijzigen omdat deze moet overeenkomen met de stuurprogrammaversie op de hostcomputer.

De databricksruntimeDocker Hub bevat voorbeelden van basisinstallatiekopieën met GPU-functionaliteit. De Dockerfiles die worden gebruikt om deze installatiekopieën te genereren, bevinden zich in de voorbeeldcontainers van GitHub, die ook details bevat over wat de voorbeeldinstallatiekopieën bieden en hoe ze kunnen worden aangepast.