DesktopHPC Mode

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

  1. Open the HPC panel from the left rail (or press Ctrl+5).

  2. 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.

  3. Fill in the scheduler settings:

    SettingDescription
    Backendslurm, pbs, or sge
    Partition / QueuePartition (SLURM) or queue (PBS/SGE) to submit to
    Account / ProjectAccount or project to charge
    WalltimeMaximum job wall time, e.g. 01:00:00
    CPUs per taskCPU cores requested per job
    Memory per CPUMemory request, e.g. 4G
    ModulesEnvironment modules to module load in the job script (one per line)
    ContainerOptional Apptainer image to wrap the workflow commands in
    Extra argsAdditional scheduler arguments appended at submit time
  4. 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.

  5. 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:

StatusMeaning
PENDINGAccepted by the scheduler, waiting for resources
RUNNINGExecuting on a compute node
SUSPENDEDPaused by the scheduler
COMPLETEDFinished successfully
FAILEDFinished with a non-zero exit code, node failure, or out-of-memory kill
CANCELLEDCancelled by you or preempted by the scheduler
TIMEOUTKilled for exceeding its walltime
UNKNOWNThe 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.

Next