Executors

April 29, 2026 · View on GitHub

:::{toctree} :maxdepth: 1 :hidden:

local docker slurm skypilot dgxcloud lepton kubeflow kuberay :::

An execution unit is a (task, executor) pair. The task defines what to run; the executor defines where and how. NeMo-Run keeps these two concerns separate so you can swap executors without changing your task configuration.

Choose an executor

Pick the executor that matches your environment:

ExecutorWhen to useSetup cost
LocalExecutorPrototyping, debugging, CINone — works out of the box
DockerExecutorReproducible local runs, container-based workflowsDocker installed & running
SlurmExecutorHPC clusters with Slurm and PyxisSSH access to a Slurm cluster
SkypilotExecutorMulti-cloud: AWS, GCP, Azure, Kubernetespip install nemo_run[skypilot] + cloud credentials
DGXCloudExecutorNVIDIA DGX Cloud via Run:aiPod access + PVC on DGX Cloud
LeptonExecutorNVIDIA DGX Cloud Lepton (standard execution)Lepton CLI installed & authenticated
KubeflowExecutorDistributed training via Kubeflow Training Operator v2kubectl + Kubeflow Training Operator v2
KubeRayExecutorRay workloads on Kuberneteskubectl + KubeRay operator

Packager support matrix

The packager controls how your code is bundled and sent to the execution environment.

ExecutorPackagers
LocalExecutorrun.Packager (passthrough)
DockerExecutorrun.Packager, run.GitArchivePackager, run.PatternPackager, run.HybridPackager
SlurmExecutorrun.Packager, run.GitArchivePackager, run.PatternPackager, run.HybridPackager
SkypilotExecutorrun.Packager, run.GitArchivePackager, run.PatternPackager, run.HybridPackager
DGXCloudExecutorrun.Packager, run.GitArchivePackager, run.PatternPackager, run.HybridPackager
LeptonExecutorrun.Packager, run.GitArchivePackager, run.PatternPackager, run.HybridPackager
KubeflowExecutorrun.Packager

See Execution — Packagers for a description of each packager.

Launcher support

The launcher controls how the process is started inside the executor.

LauncherFlagDescription
DefaultNoneDirect subprocess — no special launcher
Torchrun"torchrun" / run.Torchrun(...)Distributed training via torchrun
Fault Tolerance"ft" / run.core.execution.FaultTolerance(...)NVIDIA fault-tolerant launcher
SlurmRay"slurm_ray"Ray cluster on Slurm (see ray.md)

See Execution — Launchers for details.