Submit crYOLO to queueing system

If you use crYOLO on a cluster, you might want to submit to the queue. While for config this is not necessary and can be done on the headnode, the train and predict action is computational expensive and you might want to submit it to a GPU node.

Therefore you need to prepare a submission template, that crYOLO can use to fill in the specific command. A vanilla submission template for Slurm can be look like this (your probably need to adapt the partition):

#!/bin/bash
#SBATCH --partition gpunodes1
#SBATCH --ntasks XXX_SXMPI_NPROC_XXX
#SBATCH --ntasks-per-node 20
#SBATCH --cpus-per-task 1
#SBATCH --job-name XXX_SXMPI_JOB_NAME_XXX

XXX_SXCMD_LINE_XXX

The placeholders (XXX_PLACEHOLDER_XXX) in the submission template will replaced by crYOLO:

  • XXX_SXCMD_LINE_XXX: This placeholder will be replaced with the respective crYOLO command.

  • XXX_SXMPI_NPROC_XXX: Right now, crYOLO does not support running on multiple nodes. Therefore placeholder will be replaced by 1.

  • XXX_SXMPI_JOB_NAME_XXX: This will be replaced with “crYOLO”

When you press the Submit button you are asked for the path of the Submission template and the Submission command of your queueing system. You can also add additional arguments to the Submission command if necessary.

It is possible to set default values for the Submission template and the Submission command. To do that you can set the following environment variables:

  • CRYOLO_SUBMIT_CMD: Default value for the submission command

  • CRYOLO_SUBMIT_SCRIPT: Default value for the path to the submission script