Job Composer#
The Job Composer is an interface to create and submit jobs via OOD. It is accessible from the menu Jobs ==> Grex JobComposer.
Once launched, it shows the applications that are already configured:

At the time of writing this page, there are two categories:
Generic applications to create slurm scripts.
Specific job composer for some applications like Gaussian, GROMACS, ORCA, MATLAB and R.
More application could be configured and added to the JobComposer interface.
The following will explain the steps to use the generic template called SLURM. This template can be adapted for any application:
First, Open the interface from the JobComposer by clicking on the icon with the title SLURM.
Here is a snapshot of the intercace:

This interface allows to set the parameters required for job script:
Script location: using the button Select Path, one can navigate through the directories {home or project} to specify the location where the job script will be saved. By default, it saves the script under home directory.
Script name: it is used to give a name for your script, for example run-slurm-job.sh_. By default, the name is job.sh
Job name: this is optional but you can use it to give a name to your job. The job name will only appear in the script once the job is submitted.
Add modules: this field is used to add the modules needed to run your job, for example:
module load arch/avx512 gcc/13.2.0 openmpi/4.1.6 lammps/2024-08-29p1- Project/AccountingGroup: for users who have one slurm accounting group, this field is populated automaticaly. It works exactly like sbatch or salloc where the option –account=def-professor is set to the default slurm accounting group. However, if you have access to more than one accounting group, you should speficify which one to use, like –account=def-professor1 or –account=def-professor2__

SLURM partition: pick the appropriate partition where to run your job. If your application does not support GPU, please select a CPU partition. The drop down menu shows all the partitions (CPU and GPU) and their caharacteristis (name of the partition, total number of nodes, number of CPUs per node, total memory per node, base memory per core). It may help to onspect first the partitions status to see where the resources are available to minimize the waiting time on the queue.
Nodes and CPUs:
- Number of nodes, Minimum number of nodes, Maximum number of nodes
- Number of tasks per node
- Total Number of tasks
- Number of CPUs per task
Memory request type: this field is used to set the memory for the job either total memory per node or memory per core. It set one of the options --mem=Y or --mem=per-cpu=Z.
Software stack: it is used to choose the software stack to load, either the local SBEnv or the CCEnv by adding module load SBEnv or module load CCEnv. Note that you have to add manually the rest of the modules.
Modules: use this field to add the modules required to run your application.
Wall time: set the appropriate time for your job.
E-mail options: if you need e-mail notifications, you could set what notifications to receive (All, Beginning of job execution, End of job execution, Fail of the job, When the job is requeued). It is mandatory to add a valid email.
Once all the fields are set, you have two options:
- submit the job using the button Submit at the buttom of the JobComposer interface.
- save the job using the button Save at the buttom of the JobComposer interface. This can be handy for adapting the script manually where needed.
In addtion to the generic template, other templates for very specific applications are available from the job composer, like for R, Gaussian, ORCA, GROMACS, … etc. These templates have some restrictions and additional features to adapt the script for a particular program. For example, it uses by default –cpus-per-task for any threaded applications and sets –ntasks=1. Here are some features of the specific templates:
- set the appropriate directives to select the resources (nodes, cores, … etc.)
- Where available, modules are predefined, like for ORCA, Gaussian, …
- allows to set the path to an input file, like for R
- Where the possible, the command line is set, like for ORCA, Gaussian, MATLAB and R.
- Similar to the generic templates, they also allow to save the scrip or submit the job from the JobComposer interface.