Concepts
Slurm parameters, outdir, sidecar files, dry runs and the terms used throughout this guide.
Draft page
This page is an outline. It describes what will be covered and is not yet complete technical documentation.
The vocabulary this guide uses. Where a term is a general inference concept rather than something specific to this tool, it links to the handbook.
Tool concepts
| Term | Meaning |
|---|---|
| Model ID | The identifier passed to --model, e.g. mistralai/Mistral-7B-Instruct-v0.3. Must appear in llm-inference model list with SUPPORTED=yes. |
| Outdir | The directory given with --outdir. The tool writes the generated Slurm script, logs and sidecar files here. |
| Sidecar file | A small JSON written into the outdir recording job_id, port and model. It is how commands find a running endpoint. |
| Endpoint | A running vLLM server inside a Slurm job, reachable on an auto-assigned port. |
| Job ID | The Slurm job identifier. Every status and stop command takes it via --job. |
| Dry run | --dry-run validates parameters and writes the Slurm script without submitting. |
Required Slurm parameters
All three modes need the same set. Pass them by repeating --slurm with key=value pairs:
--slurm account=my_project \
--slurm qos=accelerated \
--slurm partition=acc \
--slurm time=02:00:00 \
--slurm cpus-per-task=80| Parameter | What it is | Example |
|---|---|---|
account |
Slurm billing account | my_project |
qos |
Quality of service | accelerated |
partition |
Cluster partition | acc |
time |
Wall-clock time limit (HH:MM:SS) |
02:00:00 |
cpus-per-task |
CPUs per task | 80 |
Accepted keys
Only these --slurm keys are allowed. Anything else fails with invalid_slurm_params:
account qos partition time cpus-per-task nodes gres mem constraint
Sizing time=
Slurm cancels the job when time runs out
The job is killed when time=HH:MM:SS is reached, even if there are still requests in
flight. Results already written stay on disk; the rest are lost.
time = model load time + (per-request time × number of requests) + 25% margin
Be generous. An over-long time= may queue longer, but a short one loses work.
The outdir and its files
Every mode writes into --outdir. Exact filenames depend on the mode, but the pattern is
consistent:
| File | Contents |
|---|---|
*.sh |
The generated Slurm script — readable, and runnable by hand for debugging. |
*.json |
The sidecar: job_id, port, model, and I/O paths where relevant. |
out.txt |
Slurm standard output. |
err.txt |
Slurm standard error. |
slurm-<jobid>.log |
vLLM logs captured inside the job. |
Reuse the same outdir
batch run finds the port by reading the sidecar from --outdir. If you pass a different
directory than the one used at endpoint start, it fails with
endpoint_sidecar_not_found.
Filesystem requirements
Warning
Keep input and output files on a filesystem visible from the compute nodes — /gpfs or
$SCRATCH. Paths local to the login node will not work, and produce
input_file_not_found or a runtime failure.
GPU and node layout
--gpus and --nodes must satisfy all of:
--gpus≥--nodes--gpusdivisible by--nodes- at most 4 GPUs per node
- inside the model’s allowed range from
llm-inference model list
Violations are reported as invalid_gpu_node_layout or model_rejected.
Job states
endpoint status and api status report the Slurm state:
| State | Meaning |
|---|---|
PENDING |
Queued, waiting for resources. |
RUNNING |
Allocated and executing. Only now can you send requests. |
COMPLETED |
Finished successfully. |
FAILED |
Exited with an error — check err.txt. |
CANCELLED |
Stopped by you, or by Slurm at the time= limit. |
Inference concepts used here
Short definitions for reference; the handbook explains them properly.
- Prefill — processing the input prompt. Compute-bound. See What is LLM inference?.
- Decode — generating output tokens one at a time. Memory-bandwidth-bound.
- KV cache — retained attention state; the dominant consumer of GPU memory. See Calculating GPU memory.
- Tensor parallelism — splitting one model across several GPUs, which is what
--gpus > 1sets up. See Parallelism. - vLLM — the inference engine the tool runs for you. Its batching behaviour is described in Static, dynamic and continuous batching.