Passer à la navigation

Exécution sur Votre Station de Travail Locale

Afficher en Markdown

Lors du lancement d’exemples localement avec uv, init_ray() tentera d’abord de se connecter à un cluster existant. Si aucun n’est trouvé, il en démarrera un local et s’y connectera en utilisant toutes les ressources GPU et CPU disponibles sur votre nœud.

Pour lancer un job en dehors d’un conteneur, exécutez simplement :

uv run examples/run_grpo_math.py

Dans les journaux, vous verrez que Ray a démarré une instance de cluster local, ainsi que des détails sur les ressources qui lui sont allouées :

2025-03-17 13:37:45,360 INFO worker.py:1841 -- Started a local Ray instance.
...
INFO:nemo_rl.distributed.virtual_cluster:Started local cluster with: {'node:__internal_head__': 1.0, 'CPU': 24.0, 'object_store_memory': 80448493977.0, 'accelerator_type:RTX': 1.0, 'memory': 177713152615.0, 'GPU': 1.0, 'node:10.0.0.1': 1.0}

Pour avoir un contrôle plus précis sur les GPU que Ray utilise localement, utilisez CUDA_VISIBLE_DEVICES :

# Utilisez le GPU indexé 0 et 3 (pour un total de 2 GPU)
CUDA_VISIBLE_DEVICES=0,3 uv run examples/run_grpo_math.py

Nous permettons également plusieurs clusters locaux colocalisés, qui sont identifiés de manière unique par les valeurs dans CUDA_VISIBLE_DEVICES. Concrètement :

# (1) Démarrer un nouveau cluster sur GPU=0
CUDA_VISIBLE_DEVICES=0 uv run examples/run_grpo_math.py
# (2) Pendant que (1) est en cours d'exécution, ceci démarrera un nouveau cluster utilisant les GPU 1 et 2 sans interférer avec (1)
# Assurez-vous que les CUDA_VISIBLE_DEVICES ne se chevauchent pas avec des tâches déjà en cours.
CUDA_VISIBLE_DEVICES=1,2 uv run examples/run_grpo_math.py