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 Project → run_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`
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