> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fr.nvidia-localization.ferndocs.com/fr/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fr.nvidia-localization.ferndocs.com/fr/_mcp/server.

# Exécution sur Votre Station de Travail Locale

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 :

```sh
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` :

```sh
# 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 :

```sh
# (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
```