What's new in hpcman¶
On November 5, 2026, hqsub moved to the new version of hpcman. The new
version is written in Go, and the old version was written in Python. hqstat,
hqavail, hqinfo and hqacctinfo already used the new version.
Your existing commands work as before. This page lists what looks different, and the new options that you can use.
If something does not work as you expect, submit a support request.
Which commands use the new version¶
| Command | Version |
|---|---|
hqsub, hqstat, hqavail, hqinfo, hqacctinfo |
New |
hpcman queue error, hpcman queue launch |
New |
hpcman user |
New |
hpcman lab, hpcman cluster, hpcman conda, hpcman software |
New, which runs the Python version for you |
You type the same commands for all of them.
hqsub¶
What hqsub prints¶
After a submission, hqsub shows what you chose, what it found, and the files
of the run. That includes the job ID, the account, the partition, the possible
nodes and the log paths. It also shows the scancel command for the job.
hqsub reads the job one time, just after the submission. A job that starts
later can run on a different node of the list.
To see less, add --status simple, or set HQSUB_STATUS=simple.
--status |
Standard output | Standard error |
|---|---|---|
full (the default) |
Successfully submitted job N ... |
the report, warnings and notices |
simple |
Successfully submitted job N ... |
warnings and notices |
parsable |
the job ID | warnings and notices |
Scripts that read the output of hqsub
Add --parsable to each script that reads the output of hqsub. Then
hqsub prints only the job ID.
--parsable overrides --status, and --status overrides HQSUB_STATUS.
The prompts¶
If you do not give -r or -q at a terminal, hqsub asks for them. At the
queue prompt, press Tab to complete a queue name. Press Tab two times to
list your queues.
Without a terminal, for example in a script, a missing -r or -q is an
error. Use -r - to make hqsub generate a run name.
Check a job before you submit it¶
--check asks Slurm if it would accept the job. It submits nothing and writes
no files. To submit the job, run the same command without --check.
--json now works with --check and with --dry-run.
Checks before the submission¶
hqsubmakes sure that the host can reach Slurm before it writes the run directory. Most cluster hosts can submit a job. A web server cannot. If the host cannot reach Slurm,hqsubtells you to submit fromshell.hpc.oregonstate.edu.hqsubrefuses a run name that contains%. Slurm replaces%patterns in the log names, so the logs can go outside the run directory.--forcereplaces only an earlier run with the same run name.hqsubdeletes the old directory only if it holds the<runname>.shscript thathqsubwrote. It refuses a different directory with the same name.
The account¶
Without -A, hqsub uses your default account when each queue you ask for
allows it. If not, hqsub uses the first account you hold that the queues
allow, in alphabetical order.
Array jobs¶
Log names¶
Each task of an array now writes its own logs, named with the array ID and the task number:
Task 3 runs line 3 of the .commands file, and its log is
<runname>.o<arrayID>_3.
Task IDs¶
hqstat and hpcman queue error show a task as <arrayID>_<task>. That is
the same ID that sacct and scancel accept.
hqstat shows the tasks that wait as a range, for example 12345_[1-4]. A
range longer than 16 characters shows as 12345_[...].
Wait for one task¶
--hold <arrayID>_<task> makes a job wait for one task. hqsub refuses a task
that does not exist, because Slurm would otherwise start the job at once.
--hold refuses a range such as 12345_[1-3]. To wait for all the tasks of an
array, use --hold <arrayID>.
Plain job IDs¶
To see plain job IDs, add --array-id job to hqsub, hqstat or
hpcman queue error, or set HPCMAN_ARRAY_ID=job. With hqsub, this option
also changes the log names.
Arrays that were in the queue at the change
An array that was already in the queue on November 5, 2026 writes logs with
the plain job ID until it finishes. Use hqstat --array-id job to see those
IDs.
hqstat¶
hqstatshows each job state that Slurm reports. Jobs that ran out of memory (out_of_memory), ran out of time (timeout), or lost their node (node_fail) now show in the table.- An array that waits shows as type
array, with the range of tasks that wait. --sort ageputs the jobs that waited longest first.--sort idsorts by job ID.--top Nshows only the first N jobs.
hpcman queue error¶
hpcman queue error is a new command. It lists your jobs that failed and your
jobs that Slurm holds, and it explains each job state.
hpcman queue error # your failed and held jobs
hpcman queue error --list # every job state and what it means
This command reads the current queue. Slurm removes a finished job from the
queue after a few minutes. For an older job, use sacct.
hqinfo¶
--sortputs the nodes in order:name,load,load-ratio(the load for each CPU), orunused(the allocated CPUs that the load does not use).--top Nshows only the first N nodes.- Each job state has a color.
OUT_OF_MEMORY,TIMEOUT,PREEMPTED,DEADLINEandREVOKEDnow show in bold red. - A job that waits shows the reason after its state, for example
STOPPED(JobHeldUser).
hqavail¶
- The GPU column shows the real number of GPUs in use. The old version showed
0GPUs in use for each GPU type. - A node that is down or drained shows
0free slots, because it cannot start a job. - Full and down queues stay hidden. Add
--show-fullto see them.
Output for all queue commands¶
The pager¶
Long output goes through a pager at a terminal. hqstat does not use a pager
unless you add --pager.
- Add
--no-pagerto stop the pager for one command. - Set
HPCMAN_NO_PAGER=1in your shell profile to stop the pager for all commands. - Set
HPCMAN_PAGERto choose the pager. If it is not set,hpcmanuses$PAGER, thenless.
Color¶
Color follows your terminal. Add --color=always or --color=never to change
it. Set NO_COLOR to any value to stop color in all commands.
JSON¶
hqsub, hqstat, hqavail, hqinfo, hqacctinfo and hpcman queue error
accept --json. For array tasks, hqstat --json keeps the plain job ID in
runid, and adds the fields array_job_id and array_task_id.
When the Slurm accounting database is down¶
If the Slurm accounting database does not answer, hqsub, hqacctinfo,
hqavail and hqinfo read your accounts from the Slurm controller. They print
one warning, and they continue. --parsable still prints only the job ID.
Removed¶
SGE is no longer supported. --sge and --queuetype sge stop with the message
SGE is no longer supported.