20.5. "CUSTOM" Queue

Custom queuing commands can be specified using this option; these commands are specified in the Configure window for the CUSTOM queue. Arguments can be specified on the command lines.

  • Start script:

    This command is used to start the solver. The start command must launch the .solvercmd. This command is called when the Start button is pressed.

  • Is running script

    This command is used to test if the solver process is still running. The command should return a non-zero exit status if the solver is running; and a zero-exit status if the solver has stopped. (Exit status: 0=not running 1=running 2=waiting in queue). This command is executed every few seconds to check the process status. It is not mandatory to specify an Is running script, however if the command is not specified or fails to execute; FENSAP-ICE will assume the solver is running until the window is closed. Specify an empty command name if no command is available.

  • Stop script

    Stops execution (kill .solvercmd execution). This command is called when you select the Kill option in FENSAP-ICE. This command is also optional; specify an empty command name if no stop command is available.

  • Additional parameters for Start:

    The Start command may be given special options supplied by FENSAP-ICE:

    • $CPU: Will be substituted by the number of CPU chosen in the Run window.

    • $EXEC_DIRECTORY: Substituted by the directory where the .solvercmd is executed (usually, the run directory).

    • $PROJECT_DIRECTORY: Substituted by the project directory, with the entire path.

    • $PROJECT_NAME: The project name.

    • $RUN_DIRECTORY: The run directory.

    • $RUN_NAME: The run name (for example Projectrun_FENSAP_03 is FENSAP_03)

For example, to replace the PBS queuing system already supported by FENSAP-ICE, do the following:

  • start

    #!/bin/tcsh

    echo running

    set number = $argv[1]

    @ number = $number / 2

    echo "#PBS -l nodes="$number":ppn=2" >sub.cmd

    echo "#PBS -N fensap" >>sub.cmd

    echo "PBS -V" >>sub.cmd

    echo "cd $argv[2]" >>sub.cmd

    echo "rm -f fensap.exitStatus fensap.stdout" >>sub.cmd

    echo "$argv[2].solvercmd 2>&1 > fensap.stdout" >>sub.cmd

    sleep 3

    qsub sub.cmd > id_job

  • isrunning

    #!/bin/tcsh

    qstat `cat id_job` > /dev/null

    if($status == 0) then

    exit 1

    else

    exit 0

    endif

  • stop

    #!/bin/tcsh

    echo stopping job

    qdel `cat id_job`

20.5.1. "CUSTOM" Queue for Windows

When FENSAP-ICE launches the .solvercmd script, it uses the nti_sh.exe found in the $NTI_PATH.

(cd C:\PATH\TO\PROJECT\RUN\)

C:\NTI\bin\nti_sh.exe .solvercmd

A CUSTOM queue needs to execute that command on the target machine. Unlike the UNIX platform, the CUSTOM queue commands must be executable files, they cannot be shell scripts, since shell scripts are not a built-in function of Windows. A simple CUSTOM Queue Start command could be:

cmd /C C:\PATH\TO\example.bat

This will execute the windows batch file example.bat The content of this file could be simply:

C:\NTI\bin\nti_sh.exe .solvercmd