Partage via


Commencez : calcul GPU sans serveur avec des GPU H100

Ce notebook montre comment utiliser le calcul Databricks Serverless avec des GPU et des accélérateurs H100. Vous allez apprendre à vous connecter à des GPU H100 et à exécuter des charges de travail distribuées à l’aide de la serverless_gpu bibliothèque Python.

La serverless_gpu bibliothèque permet l’exécution transparente des charges de travail GPU directement à partir de notebooks Databricks. Il fournit des décorateurs et des utilitaires d’exécution pour l’informatique GPU distribuée. Pour plus d’informations, consultez la documentation de l’API GPU serverless.

Connecter au calcul GPU sans serveur

Pour exécuter ce notebook, vous devez accéder aux ressources de calcul GPU sans serveur Databricks avec des accélérateurs H100.

  1. Dans le sélecteur de calcul, sélectionnez GPU serverless.
  2. Sous l’onglet « Environnement » sur le côté droit, sélectionnez H100 pour votre accélérateur. Cette option utilise 8 puces H100 sur un seul nœud.
  3. Cliquez sur Appliquer.

Consultez l’exemple Hello World ci-dessous pour découvrir comment cibler des GPU distants pour augmenter le nombre de ressources.

Quand utiliser des GPU H100

Par rapport aux A10s, les H100 offrent des opérations à virgule flottante plus grandes par seconde (FLOPS) et une mémoire à bande passante élevée (HBM). Utilisez H100s pour l’entraînement de modèles volumineux où un débit élevé et/ou une mémoire GPU volumineuse est nécessaire.

Vérifier la connexion GPU

Utilisez la nvidia-smi commande pour vérifier que vous êtes connecté à 8 GPU H100. Cette commande affiche des informations GPU, notamment le modèle, la mémoire et l’utilisation.

%sh nvidia-smi
Thu Jan 15 17:56:54 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.57.08              Driver Version: 575.57.08      CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| 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  NVIDIA H100 80GB HBM3          On  |   00000000:53:00.0 Off |                    0 |
| N/A   26C    P0             70W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA H100 80GB HBM3          On  |   00000000:64:00.0 Off |                    0 |
| N/A   28C    P0             68W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA H100 80GB HBM3          On  |   00000000:75:00.0 Off |                    0 |
| N/A   26C    P0             71W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA H100 80GB HBM3          On  |   00000000:86:00.0 Off |                    0 |
| N/A   29C    P0             68W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   4  NVIDIA H100 80GB HBM3          On  |   00000000:97:00.0 Off |                    0 |
| N/A   27C    P0             67W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   5  NVIDIA H100 80GB HBM3          On  |   00000000:A8:00.0 Off |                    0 |
| N/A   26C    P0             67W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   6  NVIDIA H100 80GB HBM3          On  |   00000000:B9:00.0 Off |                    0 |
| N/A   26C    P0             69W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   7  NVIDIA H100 80GB HBM3          On  |   00000000:CA:00.0 Off |                    0 |
| N/A   26C    P0             67W /  700W |       0MiB /  81559MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Exemple Hello World

Cet exemple montre comment exécuter une fonction distribuée sur plusieurs GPU à l’aide du décorateur @distributed.

La fonction annotée ci-dessous est lancée sur 8 processus, un par GPU sur le nœud auquel le notebook est attaché. L’annotation launch spécifie le nombre de GPU.

La fonction utilise le runtime module pour accéder aux rangs gpu locaux et globaux.

from serverless_gpu import distributed
from serverless_gpu import runtime as rt

@distributed(
    gpus=8,
    gpu_type='h100',
)
def hello_world(name: str) -> list[int]:
    if rt.get_local_rank() == 0:
        print('hello world', name)
    return rt.get_global_rank()

result = hello_world.distributed('SGC')

assert result == [0, 1, 2, 3, 4, 5, 6, 7]

Étapes suivantes

Exemple de notebook

Démarrer avec le calcul sans serveur : GPU avec des GPU H100

Obtenir un ordinateur portable