How to Use a Job Scheduling / Queuing System

Feko integrates into job scheduling and queuing systems such as Altair PBS Professional, Torque, IBM Platform LSF, Parallelnavi NQS, SLURM and Univa Grid Engine.

Note: View the MPI documentation for the relevant MPI implementation in the $ALTAIR_HOME\mpi folder.

The job scripts depend on the level of complexity (for example, specifying the anticipated memory requirement or the expected run-time so that the job gets a SIGXCPU when exceeding the CPU time).

In the simplest case, you submit the job script to the right queue only, for example:

qsub job_script.sh

Inside the job script, make sure that RUNFEKO is called with the full path to the application and the --use-job-scheduler command line option to activate the queuing system integration with Intel MPI:

/opt/feko/bin/runfeko <filename> --use-job-scheduler

In this case, the machine file, that specifies the nodes to be used and the number of parallel processes, is obtained from the queuing system. Additional specifications in the job script, like the number of nodes to be used, should be done using the corresponding syntax of the queuing system.

When Intel MPI cannot be used, Feko can still be used with queuing systems. For instance, for Altair PBS Professional the batch systems provide a file with the list of hosts and number of CPUs which can be accessed by the environment variable $PBS_NODEFILE. Run Feko from the job script, for example with:

/opt/feko/bin/runfeko <filename> -np 16 --machines-file $PBS_NODEFILE
Note: filename and the number of processes (16 in the example) can be a parameter of the script.

For advanced usage, you can make use of many features like merging stdout and stderr (recommended) into one file using:

#QSUB-eo

or a time limit can be set with a command such as the following (that sets a time limit of 3600 seconds per node):

#QSUB-l p_mpp_t=3600

For progress tracking purposes, in particular with longer jobs, it might also be useful to write stdout while the request is being processed, using a command like:

#QSUB-ro
Note: E-mail notifications can be sent when a job starts and finishes.

Feko includes the component QUEUEFEKO, which allows you to set up job scripts based on user-defined options and packs all the input files required for a run into an archive.