Context
Child of #2118. PR #2059 added first-class SLURM job-array support, deterministic source-task sharding, durable shard completion manifests, FailedTask-aware retries, and reference scripts under tutorials/slurm/. The operational guide currently exists only in the repository README and is not discoverable in the Fern documentation.
Documentation scope
Add a Fern guide under Admin > Deployment > SLURM that covers:
- when to use independent SLURM array jobs instead of one multi-node Ray cluster
- JSONL and Parquet setup with
submit_array.sh and array_pipeline.py
- automatic
SLURM_ARRAY_TASK_ID / SLURM_ARRAY_TASK_COUNT discovery
NEMO_CURATOR_SLURM_ARRAY_ENABLED, shard-index, total-shards, and minimum-index overrides
- deterministic task-ID hashing and source-task assignment requirements
- single-node
RayClient versus multi-node SlurmRayClient within each array task
- shared
checkpoint_path, run.json, completion manifests, and retry discovery
- pipeline exceptions versus downstream
FailedTask results
- why source stages cannot emit
FailedTask
- array-size limits, windowed submissions,
SHARD_INDEX_OFFSET, and empty shards
- attempt-scoped failed-task directories and checkpoint reuse/reset rules
retry_array.py, including maximum physical array size handling
Link the existing tutorial scripts instead of duplicating them wholesale. Do not document nemo-curator-slurm-cli; it was explicitly not implemented in #2059.
Related updates
Acceptance criteria
Related implementation: #2059
Parent tracker: #2118
Context
Child of #2118. PR #2059 added first-class SLURM job-array support, deterministic source-task sharding, durable shard completion manifests,
FailedTask-aware retries, and reference scripts undertutorials/slurm/. The operational guide currently exists only in the repository README and is not discoverable in the Fern documentation.Documentation scope
Add a Fern guide under Admin > Deployment > SLURM that covers:
submit_array.shandarray_pipeline.pySLURM_ARRAY_TASK_ID/SLURM_ARRAY_TASK_COUNTdiscoveryNEMO_CURATOR_SLURM_ARRAY_ENABLED, shard-index, total-shards, and minimum-index overridesRayClientversus multi-nodeSlurmRayClientwithin each array taskcheckpoint_path,run.json, completion manifests, and retry discoveryFailedTaskresultsFailedTaskSHARD_INDEX_OFFSET, and empty shardsretry_array.py, including maximum physical array size handlingLink the existing tutorial scripts instead of duplicating them wholesale. Do not document
nemo-curator-slurm-cli; it was explicitly not implemented in #2059.Related updates
fern/versions/main.ymlunder the existing SLURM deployment section.Acceptance criteria
rtask-ID rejection are explainedRelated implementation: #2059
Parent tracker: #2118