gctl Reference
gctl changes scheduler behavior at runtime.
Usage
gctl <command> [args]
gctl completion <shell>Commands
gctl show-gpus
Show per-GPU status, including whether a GPU is restricted.
gctl show-gpusgctl gpu-process ignore --gpu <index> --pid <pid>
Ignore a running GPU process when gflow evaluates whether a GPU is blocked by an unmanaged workload.
This is a runtime-only override. gflowd restart or reload clears it automatically.
gctl gpu-process ignore --gpu 0 --pid 1234gctl gpu-process unignore --gpu <index> --pid <pid>
Remove a runtime GPU-process ignore override.
gctl gpu-process unignore --gpu 0 --pid 1234gctl gpu-process list
List active runtime GPU-process ignore overrides.
gctl gpu-process listgctl set-gpus <gpu_spec>
Restrict which GPUs the scheduler can allocate for new jobs.
<gpu_spec> examples:
all0,2,40-30-1,3,5-6
gctl set-gpus 0,2
gctl set-gpus allgctl set-limit <job_or_group_id> <limit>
Set max concurrency for a job group.
gctl set-limit <job_id> 2
gctl set-limit <group_id> 2gctl reserve create
Create a GPU reservation for a specific user.
By GPU count (scheduler allocates dynamically):
gctl reserve create --user alice --gpus 2 --start '2026-01-28 14:00' --duration 2hBy specific GPU indices (reserve exact GPUs):
gctl reserve create --user alice --gpu-spec 0,2 --start '2026-01-28 14:00' --duration 2h
gctl reserve create --user bob --gpu-spec 0-3 --start '2026-01-28 16:00' --duration 1h--start supports ISO8601 (e.g. 2026-01-28T14:00:00Z) or YYYY-MM-DD HH:MM (local time). Times must be on :00 or :30; durations are multiples of 30 minutes.
gctl reserve list
List reservations.
gctl reserve list
gctl reserve list --active
gctl reserve list --user alice --status active
gctl reserve list --timeline --range 48hgctl reserve get <reservation_id>
Show details for a reservation.
gctl reserve get <reservation_id>gctl reserve cancel <reservation_id>
Cancel a reservation.
gctl reserve cancel <reservation_id>