CLI Reference
srtctl is the main command-line interface for submitting benchmark jobs to SLURM.
Table of Contents
Quick Start
Interactive Mode
Running srtctl with no arguments launches an interactive TUI (Text User Interface) powered by Rich and Questionary:
Interactive mode is ideal for:
Exploring available recipes without memorizing paths
Previewing and tweaking configurations before submission
Understanding what a sweep will expand to
Quick experimentation and validation
Recipe Browser
On launch, interactive mode scans the recipies/ directory and presents recipes organized by subdirectory:
Features:
Recipes grouped by parent directory for easy navigation
Arrow keys to navigate, Enter to select
"Browse for file..." option for configs outside
recipies/If no recipes found, prompts for manual path entry
Configuration Summary
After selecting a recipe, you'll see a tree-style summary:
Interactive Actions Menu
After viewing the config summary, you'll see an action menu:
sbatch Preview
The "Preview sbatch script" option shows the exact SLURM script that will be submitted:
The script is syntax-highlighted with line numbers for easy reading.
Parameter Modification
The "Modify parameters" option lets you interactively change key settings:
Modifiable fields:
name- Job nameresources.prefill_workers- Number of prefill workersresources.decode_workers- Number of decode workersbenchmark.isl- Input sequence lengthbenchmark.osl- Output sequence length
Modified configs are saved to a temporary file and used for submission.
Sweep Preview
For configs with a sweep: section, interactive mode shows an expansion table:
Submission Confirmation
Before submitting, you'll be asked to confirm:
For sweeps, the confirmation shows:
Full configuration summary
Sweep expansion table
Total job count
Workflow Examples
Exploring a new recipe:
Quick experiment with modifications:
Sweep validation:
Commands
srtctl apply
srtctl applySubmit a job or sweep to SLURM.
Options:
-f, --file
Path to YAML config file (required)
--sweep
Force sweep mode (usually auto-detected)
--setup-script
Custom setup script from configs/
--tags
Comma-separated tags for the run
-y, --yes
Skip confirmation prompts
Examples:
srtctl dry-run
srtctl dry-runPreview what would be submitted without actually submitting.
Options:
-f, --file
Path to YAML config file (required)
--sweep
Force sweep mode
Examples:
Dry-run output includes:
Syntax-highlighted sbatch script
For sweeps: table of all jobs with parameters
Generated configs saved to
dry-runs/folder
Output
When you submit a job, srtctl creates an output directory:
Sweep Support
Configs with a sweep: section are automatically detected and expanded:
This creates 4 jobs (2 × 2 Cartesian product). See Parameter Sweeps for details.
Tips
Use
srtctl(no args) for exploring recipes interactivelyUse
srtctl apply -ffor scripting and CI pipelinesAlways
dry-runfirst for sweeps to check job countCheck
outputs/<job_id>/for submitted configs and metadata
Last updated