Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Vissa GPU-aktiverade instanstyper finns i Beta- och markeras som sådana i listrutan när du väljer drivrutins- och arbetstyperna när beräkning skapas.
Översikt
Azure Databricks stöder beräkningar som accelereras med grafikprocessorer (GPU:er). Den här artikeln beskriver hur du skapar beräkning med GPU-aktiverade instanser och beskriver de GPU-drivrutiner och bibliotek som är installerade på dessa instanser.
Mer information om djupinlärning om GPU-aktiverad beräkning finns i Djupinlärning.
Skapa en GPU-beräkning
Att skapa en GPU-beräkning liknar att skapa en beräkning. Tänk på följande:
- Kryssrutan Maskininlärning måste vara markerad. GPU ML-versionen väljs automatiskt baserat på arbetstypen.
- Kryssrutan Fotoacceleration måste vara avmarkerad. Photon stöds inte med GPU-instanstyper.
- Typen Worker måste vara en GPU-instanstyp.
- Kryssrutan Enskild nod kan kontrolleras för att hämta en enda GPU-instans.
Processen för att konfigurera GPU-instanser med kluster-API :et varierar beroende på om fältet kind har angetts.
kind avgör om din begäran använder den enkla formulärspecifikationen :
- Om
kind = CLASSIC_PREVIEWanger du"use_ml_runtime": true. - Om du inte anger fältet
kindanger duspark_versiontill en GPU-aktiverad version, till exempel 15.4.x-gpu-ml-scala2.12.
Instanstyper som stöds
Varning
Azure Databricks avvecklar stödet för att starta datorresurser med hjälp av NC v3-instanstyper, eftersom Azure avvecklar Nc24rs senast den 31 mars 2025 och instanstyperna NC6s_v3, NC12s_v3 och NC24s_v3 senast den 30 september 2025.
Azure Databricks stöder följande instanstyper:
NCads_H100_v5
- GPU-typ: NVIDIA H100 NVL GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| Standard_NC40ads_H100_v5 | 1 | 94 GB | 40 | 320 GB |
| Standard_NC80adis_H100_v5 | 2 | 94 GB x 2 | 80 | 640 GB |
NC_A100_v4
- GPU-typ: NVIDIA A100 PCIe GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| 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-typ: NVIDIA Ampere A100 40GB Tensor Core GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| Standard_ND96asr_v4 | 8 | 40 GB x 8 | 96 | 900 GB |
NVadsA10_v5
- GPU-typ: NVIDIA A10 GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| 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-typ: NVIDIA T4 GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| 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-typ: NVIDIA Tesla V100 GPU
| Instansnamn | Antal GPU:er | GPU-minne | vCPU:er | CPU-minne |
|---|---|---|---|---|
| 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 |
Se Azure Databricks Pricing för en up-to-date-lista över GPU-instanstyper som stöds och deras tillgänglighetsregioner. Azure Databricks-distributionen måste finnas i en region som stöds för att starta GPU-aktiverad beräkning.
GPU-schemaläggning
GPU-schemaläggning distribuerar Spark-uppgifter effektivt över ett stort antal GPU:er.
Databricks Runtime stöder GPU-medveten schemaläggning från Apache Spark 3.0. Azure Databricks förkonfigurerar det på GPU-beräkning.
Kommentar
GPU-schemaläggning är inte aktiverat vid beräkning med en nod.
GPU-schemaläggning för AI och ML
spark.task.resource.gpu.amount är den enda Spark-konfigurationen som är relaterad till GPU-medveten schemaläggning som du kan behöva konfigurera.
Standardkonfigurationen använder en GPU per uppgift, vilket är en bra baslinje för distribuerade slutsatsdragningsarbetsbelastningar och distribuerad träning om du använder alla GPU-noder.
För att minska kommunikationskostnaderna under distribuerad träning rekommenderar Databricks att du anger spark.task.resource.gpu.amount antalet GPU:er per arbetsnod i spark-konfigurationen för beräkning. Detta skapar bara en Spark-uppgift för varje Spark-arbetare och tilldelar alla GPU:er i den arbetsnoden till samma uppgift.
Om du vill öka parallelliseringen för distribuerad djupinlärning kan du ange spark.task.resource.gpu.amount till bråkvärden som 1/2, 1/3, 1/4, ... 1/N. Detta skapar fler Spark-uppgifter än det finns GPU:er, vilket gör att fler samtidiga uppgifter kan hantera slutsatsdragningsbegäranden parallellt. Om du till exempel anger spark.task.resource.gpu.amount till 0.5, 0.33eller 0.25delas de tillgängliga GPU:erna mellan dubbla, tredubbla eller fyrdubbla antalet aktiviteter.
GPU-indexer
För PySpark-uppgifter mappas Azure Databricks automatiskt om tilldelade GPU:er till nollbaserade index. För standardkonfigurationen som använder en GPU per aktivitet kan du använda standard-GPU:n utan att kontrollera vilken GPU som har tilldelats uppgiften.
Om du anger flera GPU:er per aktivitet, till exempel 4, är indexen för de tilldelade GPU:erna alltid 0, 1, 2 och 3. Om du behöver de fysiska indexen för de tilldelade GPU:erna kan du hämta dem från CUDA_VISIBLE_DEVICES miljövariabeln.
Om du använder Scala kan du hämta indexen för GPU:er som tilldelats uppgiften från TaskContext.resources().get("gpu").
NVIDIA GPU-drivrutin, CUDA och cuDNN
Azure Databricks installerar NVIDIA-drivrutinen och biblioteken som krävs för att använda GPU:er på Spark-drivrutins- och arbetsinstanser:
-
CUDA Toolkit, installerat under
/usr/local/cuda. - cuDNN: NVIDIA CUDA Deep Neural Network Library.
- NCCL: NVIDIA Collective Communications Library.
Den version av NVIDIA-drivrutinen som ingår är 535.54.03, som stöder CUDA 11.0.
För NV A10 v5-instanstypserien ingår version 535.154.05 av NVIDIA-drivrutinen.
De versioner av biblioteken som ingår finns i versionsanteckningarna för den specifika Databricks Runtime-version som du använder.
Kommentar
Den här programvaran innehåller källkod från NVIDIA Corporation. För att stödja GPU:er innehåller Azure Databricks kod från CUDA-exempel.
NVIDIA-licensavtal för slutanvändare (EULA)
När du väljer en GPU-aktiverad "Databricks Runtime-version" i Azure Databricks godkänner du implicit de villkor som beskrivs i NVIDIA EULA med avseende på biblioteken CUDA, cuDNN och Tesla samt NVIDIA-licensavtal (med NCCL-tillägg) för NCCL-biblioteket.
Databricks Container Services på GPU-beräkning
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Du kan använda Databricks Container Services vid beräkning med GPU:er för att skapa portabla djupinlärningsmiljöer med anpassade bibliotek. Anvisningar finns i Anpassa containrar med Databricks Container Service .
Om du vill skapa anpassade avbildningar för GPU-beräkning måste du välja en standardkörningsversion i stället för Databricks Runtime ML för GPU. När du väljer Använd din egen Docker-containerkan du välja GPU-beräkning med en standardversion av körningen. De anpassade avbildningarna för GPU baseras på de officiella CUDA-containrarna, som skiljer sig från Databricks Runtime ML för GPU.
När du skapar anpassade avbildningar för GPU-beräkning kan du inte ändra NVIDIA-drivrutinsversionen eftersom den måste matcha drivrutinsversionen på värddatorn.
databricksruntime
Docker Hub innehåller exempelbasavbildningar med GPU-kapacitet. Dockerfiles som används för att generera dessa avbildningar finns i GitHub-lagringsplatsen för exempelcontainrar , som också innehåller information om vad exempelbilderna erbjuder och hur de kan anpassas.