HPC Mode
HPC mode lets the desktop app submit workflow runs to a cluster scheduler — SLURM, PBS/Torque, or SGE — instead of executing everything on your local machine. Each run is packaged as a batch job: BioNodulo generates a scheduler script with your requested resources, submits it, and tracks the job until it finishes.
The scheduler command-line tools (sbatch, qsub, etc.) are invoked on the
machine running BioNodulo. Run the app on your cluster’s login node, or on a
host where the scheduler clients are installed and you can submit jobs
directly.
Enable and configure HPC mode
-
Open the HPC panel from the left rail (or press
Ctrl+5). -
Toggle Enable HPC mode on. Once enabled, an HPC status badge appears in the top bar; it polls the backend every 30 seconds and shows whether the scheduler connection is healthy.
-
Fill in the scheduler settings:
Setting Description Backend slurm,pbs, orsgePartition / Queue Partition (SLURM) or queue (PBS/SGE) to submit to Account / Project Account or project to charge Walltime Maximum job wall time, e.g. 01:00:00CPUs per task CPU cores requested per job Memory per CPU Memory request, e.g. 4GModules Environment modules to module loadin the job script (one per line)Container Optional Apptainer image to wrap the workflow commands in Extra args Additional scheduler arguments appended at submit time -
Click Test Connection to verify the backend is reachable. The panel also shows a live job script preview so you can see exactly which directives will be generated for the selected backend.
-
Run your workflow — with HPC mode enabled, the run is submitted as a batch job instead of executing locally.
You can also set these values in your
bionodulo.yaml under the hpc: section.
Schedulers
SLURM
Uses sbatch to submit, squeue (falling back to sacct) to poll status, and
scancel to cancel. Exit codes are read back from sacct once a job reaches a
terminal state. Generated scripts use #SBATCH directives for job name,
partition, time, nodes, --cpus-per-task, memory, account, and optional
--mail-user notifications. Submission also supports dependencies, holds, job
arrays, and arbitrary extra sbatch arguments.
PBS/Torque
Uses qsub, qstat (including qstat -Hx history lookup for completed jobs),
and qdel. Generated scripts use #PBS directives, with resources expressed as
-l select=<nodes>:ncpus=<cpus>:mem=<mb>mb and -l walltime=.... Scheduler CLI
calls run without a shell and are capped by a 30-second timeout so a wedged
qsub/qstat can’t hang the app.
SGE (Sun Grid Engine)
Uses qsub, qstat, qdel, and qacct (for exit status of finished jobs).
Generated scripts use #$ directives with -l h_rt= for walltime and
-pe smp <n> for CPUs (the parallel environment name is configurable, default
smp). Multi-node requests are not supported by the SGE backend — asking
for more than one node raises an error. CLI calls have the same 30-second
timeout as PBS.
Job lifecycle
Every submitted job is tracked through a normalized status model:
| Status | Meaning |
|---|---|
PENDING | Accepted by the scheduler, waiting for resources |
RUNNING | Executing on a compute node |
SUSPENDED | Paused by the scheduler |
COMPLETED | Finished successfully |
FAILED | Finished with a non-zero exit code, node failure, or out-of-memory kill |
CANCELLED | Cancelled by you or preempted by the scheduler |
TIMEOUT | Killed for exceeding its walltime |
UNKNOWN | The scheduler reported a state BioNodulo doesn’t recognize |
Stdout and stderr are captured to files next to the generated job script
(<job-name>_<job-id>.out / .err for SLURM, <job-name>.out / .err for
PBS/SGE), so you can inspect logs after the job leaves the queue.
The scheduler’s native state names are mapped automatically — e.g. SLURM’s
OUT_OF_MEMORY and NODE_FAIL surface as FAILED, and PREEMPTED surfaces as
CANCELLED.
HPC nodes
The node library also includes HPC Submit Job and HPC Check Status nodes, which submit a serialized workflow through a configured HPC adapter from inside another workflow. These nodes validate all inputs (scheduler name, memory size, walltime format, partition/account strings) before submitting and fail closed if no adapter is configured.
Tools on compute nodes
HPC jobs run on cluster compute nodes, so the tools your workflow needs must be available there. Use the Modules setting for module-managed software, or set a Container image so commands run inside Apptainer. See Managing Environments for how BioNodulo provisions tool dependencies.