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

# nemo_gym.orchestration.executors.slurm

## Module Contents

### Classes

| Name                                                                     | Description                                                                                                     |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| [`SlurmExecutor`](#nemo_gym-orchestration-executors-slurm-SlurmExecutor) | Slurm executor for Pyxis-enabled clusters ([https://github.com/NVIDIA/pyxis](https://github.com/NVIDIA/pyxis)). |

### Functions

| Name                                                                           | Description |
| ------------------------------------------------------------------------------ | ----------- |
| [`_validate_mounts`](#nemo_gym-orchestration-executors-slurm-_validate_mounts) | -           |

### Data

[`_SBATCH_JOB_ID_RE`](#nemo_gym-orchestration-executors-slurm-_SBATCH_JOB_ID_RE)

### API

```python
class nemo_gym.orchestration.executors.slurm.SlurmExecutor()
```

**Bases:** [BaseExecutor](/nemo-gym/nemo_gym/orchestration/executors/base#nemo_gym-orchestration-executors-base-BaseExecutor)

Slurm executor for Pyxis-enabled clusters ([https://github.com/NVIDIA/pyxis](https://github.com/NVIDIA/pyxis)).

Every service and the driver are launched via `srun --container-image` so they
run inside the container specified in their config. Health checks run as plain
bash inside the sbatch script (no container needed — they just poll HTTP).

```python
nemo_gym.orchestration.executors.slurm.SlurmExecutor._dry_run(
    config: nemo_gym.orchestration.api.SubmitConfig,
    compute: nemo_gym.orchestration.api.SlurmComputeConfig,
    remote_run_dir: pathlib.Path
) -> None
```

```python
nemo_gym.orchestration.executors.slurm.SlurmExecutor._stage(
    config: nemo_gym.orchestration.api.SubmitConfig,
    compute: nemo_gym.orchestration.api.SlurmComputeConfig,
    remote_run_dir: pathlib.Path,
    staging: pathlib.Path
) -> pathlib.Path
```

```python
nemo_gym.orchestration.executors.slurm.SlurmExecutor.run(
    config: nemo_gym.orchestration.api.SubmitConfig,
    dry_run: bool = False
) -> None
```

```python
nemo_gym.orchestration.executors.slurm._validate_mounts(
    config: nemo_gym.orchestration.api.SubmitConfig,
    conn: nemo_gym.orchestration.executors.connection.Connection
) -> None
```

```python
nemo_gym.orchestration.executors.slurm._SBATCH_JOB_ID_RE = re.compile('Submitted batch job (\\d+)')
```