blob: 00ca0c8dc1c46ac5950ff41111527d1c3ca957a2 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<resource-manager-data name="rm-pbs-torque_2.3.7">
<site>
<control-connection>ssh://abe.ncsa.uiuc.edu/usr/local/bin/qsub</control-connection>
</site>
<control>
<managed-files>
<file-staging-location>.eclipsesettings</file-staging-location>
<managed-file name="pbs_script" uniqueIdPrefix="true" deleteAfterUse="true">
<contents>${rm:script}</contents>
</managed-file>
</managed-files>
<on-start-up>
<command-ref>find_queues</command-ref>
</on-start-up>
<submit-commands>
<submit-batch>
<command-ref>submit_script</command-ref>
</submit-batch>
</submit-commands>
<terminate-job>
<command-ref>cancel_job</command-ref>
</terminate-job>
<commands>
<command name="find_queues">
<arglist>
<arg>qstat -Q -f</arg>
<arg>| grep Queue:</arg>
<arg>| cut -d ' ' -f 2</arg>
</arglist>
<parser-ref>queueParser</parser-ref>
</command>
<command name="submit_script">
<arglist>
<arg>qsub</arg>
<arg>${rm:pbs_script}</arg>
</arglist>
<parser-ref>jobIdParser</parser-ref>
</command>
<command name="cancel_job">
<arglist>
<arg>qdel</arg>
<arg>${rm:jobId}</arg>
</arglist>
</command>
</commands>
<parsers>
<stream-parser name="queueParser" stderr="false">
<range>0:N</range>
<token>
<add name="available_queues"/>
</token>
</stream-parser>
<stream-parser name="jobIdParser" stderr="false">
<range>0:N</range>
<token delim="[.]">
<put name="jobId">
<range>0</range>
</put>
</token>
</stream-parser>
</parsers>
<script shell="#!/bin/bash">
<directive-definitions>
<directive-definition valueFrom="Account_Name"># @ PBS -A </directive-definition>
<directive-definition valueFrom="Checkpoint"># @ PBS -c </directive-definition>
<directive-definition valueFrom="depend"># @ PBS -W depend=</directive-definition>
<directive-definition valueFrom="destination"># @ PBS -q </directive-definition>
<directive-definition valueFrom="directive"># @ PBS -C </directive-definition>
<directive-definition valueFrom="Error_Path"># @ PBS -e </directive-definition>
<directive-definition valueFrom="export_all"># @ PBS -V </directive-definition>
<directive-definition valueFrom="group_list"># @ PBS -W group_list=</directive-definition>
<directive-definition valueFrom="Hold_Types"># @ PBS -h </directive-definition>
<directive-definition valueFrom="Job_Name"># @ PBS -N </directive-definition>
<directive-definition valueFrom="Join_Path"># @ PBS -j </directive-definition>
<directive-definition valueFrom="Keep_Files"># @ PBS -k </directive-definition>
<directive-definition valueFrom="Mail_Points"># @ PBS -m </directive-definition>
<directive-definition valueFrom="Mail_Users"># @ PBS -M </directive-definition>
<directive-definition valueFrom="Output_Path"># @ PBS -o </directive-definition>
<directive-definition valueFrom="Priority"># @ PBS -p </directive-definition>
<directive-definition valueFrom="Rerunnable"># @ PBS -r </directive-definition>
<directive-definition valueFrom="Resource_List.arch"># @ PBS -l arch=</directive-definition>
<directive-definition valueFrom="Resource_List.cput"># @ PBS -l cput=</directive-definition>
<directive-definition valueFrom="Resource_List.file"># @ PBS -l file=</directive-definition>
<directive-definition valueFrom="Resource_List.host"># @ PBS -l host=</directive-definition>
<directive-definition valueFrom="Resource_List.mem"># @ PBS -l mem=</directive-definition>
<directive-definition valueFrom="Resource_List.nice"># @ PBS -l nice=</directive-definition>
<directive-definition valueFrom="Resource_List.nodes"># @ PBS -l nodes=</directive-definition>
<directive-definition valueFrom="Resource_List.ompthreads"># @ PBS -l ompthreads=</directive-definition>
<directive-definition valueFrom="Resource_List.pcput"># @ PBS -l pcput=</directive-definition>
<directive-definition valueFrom="Resource_List.pmem"># @ PBS -l pmem=</directive-definition>
<directive-definition valueFrom="Resource_List.pvmem"># @ PBS -l pvmem=</directive-definition>
<directive-definition valueFrom="Resource_List.vmem"># @ PBS -l vmem=</directive-definition>
<directive-definition valueFrom="Resource_List.walltime"># @ PBS -l walltime=</directive-definition>
<directive-definition valueFrom="Shell_Path_List"># @ PBS -S </directive-definition>
<directive-definition valueFrom="stagein"># @ PBS -W stagein=</directive-definition>
<directive-definition valueFrom="stageout"># @ PBS -W stageout=</directive-definition>
<directive-definition valueFrom="User_List"># @ PBS -u </directive-definition>
<directive-definition valueFrom="Variable_List"># @ PBS -v </directive-definition>
</directive-definitions>
<pre-execute-commands>
<arglist>
<arg>cd</arg>
<arg>${rm:directory}</arg>
</arglist>
</pre-execute-commands>
<execute-command>
<arglist>
<arg>${rm:mpiCommand}</arg>
<arg>${rm:mpiArgs}</arg>
<arg>${rm:executablePath}</arg>
<arg>${rm:progArgs}</arg>
</arglist>
</execute-command>
<post-execute-commands>
<arglist>
<arg>touch</arg>
<arg>DONE</arg>
</arglist>
</post-execute-commands>
</script>
<attribute-definitions>
<job-attribute id="mpiCommand" name="mpiCommand" basic="true" type="choice">
<description>Which mpi command to use.</description>
<choice>,mpiexec,mpirun</choice>
</job-attribute>
<job-attribute id="mpiCores" name="mpiCores" min="1" basic="true" type="integer">
<description>the '-np' value</description>
</job-attribute>
<job-attribute id="mpiArgs" name="mpiArgs" basic="true" type="string">
<description>Which mpi options to use.</description>
<default>-machinefile $PBS_NODEFILE -np ${rm:mpiCores}</default>
</job-attribute>
<job-attribute id="PBSJOB_Account_Name" name="Account_Name" basic="true" type="string">
<description>Account to which to charge this job.</description>
<tooltip>Format: string</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Checkpoint" name="Checkpoint" type="choice">
<description>Determines when checkpointing (if supported) will be performed by PBS on behalf of the job.</description>
<tooltip>Format: the strings "n" (no checkpointing), "s" (to be performed only when the server executing the job is shutdown), "c"s
(to be performed at the default minimum time for thes servers executing the job), "c=mmmm" (to be performed at an intervals ofs
minutess whichs is the integer number of minutes of CPUs time used bys the job; values must be greater than zero); defaults value:
"u", whichs iss unspecified.
</tooltip>
<choice>,u,n,s,c,c=????</choice>
<default>u</default>
</job-attribute>
<job-attribute id="PBSJOB_depend" name="depend" type="string">
<description>The type of inter-job dependencies specified by the job owner.</description>
<tooltip>Format: "type:jobid[,jobid...]"; default value: no dependencies.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_destination" name="destination" type="string" basic="true">
<description>Designation of the queue to which to submit the job.</description>
<tooltip>Format: queue[@server].</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_directive" name="directive" type="string">
<description>Defines the prefix that declares a directive to the qsub command within the script file.</description>
<tooltip>See the paragraph on script directives in the Extended Description section. If the option is presented with a
directive_prefix argument that is the null string, qsub will not scan the script file for directives.
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Error_Path" name="Error_Path" type="string">
<description>The final path name for the file containing the job's standard error stream.</description>
<tooltip>Format: "[hostname:]pathname". If the option is not specified, the default file name for the standard error stream will be
used. The default name has the following form: job_name.eSeq_num where job_name is the name of the job, see -N option, and Seq_num
is the job number assigned when the job is submitted; default value: (job_name).e(job_number).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_export_all" name="export_all" basic="true" type="boolean">
<description>Declares that all environment variables in the qsub command's environment are to be exported to the batch job.</description>
<default>true</default>
</job-attribute>
<job-attribute id="PBSJOB_group_list" name="group_list" type="string">
<description>A list of group_names@hosts which determines the group under which the job is run on a given host.</description>
<tooltip>Format: group_name[@host][,group_name[@host]...]. When a job is to be placed into execution, the server will select a
group
name according to the following ordered set of rules: 1) Select the group name from the list for which the associated host
name
matches the name of the execution host; 2) Select the group name which has no associated host name, the wildcard name; 3) Use
the
login group for the username under which the job will be run.
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Hold_Types" name="Hold_Types" type="choice">
<description>The set of holds currently applied to the job.</description>
<tooltip>If the set is not null, the job will not be scheduled for execution and is said to be in the hold state. Note, the hold
state takes precedence over the wait state. Format: string made up of the letters 'u', 's', 'o'; default value: no hold.
</tooltip>
<choice>,u,s,o</choice>
</job-attribute>
<job-attribute id="PBSJOB_Job_Name" name="Job_Name" type="string" basic="true">
<description>The name assigned to the job by the qsub or qalter command.</description>
<tooltip>Format: string up to 15 characters, first character must be alphabetic; default value: the base name of the job script or
STDIN.
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Join_Path" name="Join_Path" type="boolean">
<description>Merge stdout and stderr into stdout.</description>
<tooltip>Format: boolean, values accepted are "True", "TRUE", "true", "Y", "y", "1", "False", "FALSE", "false", "N", "n", "0";
default value: false.
</tooltip>
<default>false</default>
</job-attribute>
<job-attribute id="PBSJOB_Keep_Files" name="Keep_Files" type="choice">
<description>Retain these streams on the execution host upon job termination.</description>
<tooltip>Format: "o", "e", "oe" or "eo"; default value: no keep, return files to submission host.</tooltip>
<choice>,o,e,oe,eo</choice>
</job-attribute>
<job-attribute id="PBSJOB_Mail_Points" name="Mail_Points" type="choice">
<description>Identifies at which state changes the server will send mail about the job.</description>
<tooltip>Format: string made up of the letters 'a' for abort, 'b' for beginning, and default value: 'a', send on job abort.
</tooltip>
<choice>,a,b</choice>
<default>a</default>
</job-attribute>
<job-attribute id="PBSJOB_Mail_Users" name="Mail_Users" type="string">
<description>The set of users to whom mail may be sent when the job makes certain state changes.</description>
<tooltip>Format: "user@host[,user@host]"; default value: job owner only.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Output_Path" name="Output_Path" type="string">
<description>The final path name for the file containing the job's standard output stream.</description>
<tooltip>Format: "[hostname:]pathname". If the option is not specified, the default file name for the standard error stream will be
used. The default name has the following form: job_name.oSeq_num where job_name is the name of the job, see -N option, and Seq_num
is the job number assigned when the job is submitted; default value: (job_name).o(job_number).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Priority" name="Priority" type="string">
<description>The job scheduling priority assigned by the user.</description>
<tooltip>Format: "[+|-]nnnnn"; default value: undefined.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Rerunnable" name="Rerunnable" type="choice">
<description>The rerunnable flag assigned by the user.</description>
<tooltip>Format: "y" or "n", see Join_Path; default value: y, job is rerunable.</tooltip>
<choice>,n,y</choice>
<default>y</default>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.arch" name="Resource_List.arch" type="string">
<description>Specifies the administrator defined system architecture requried.</description>
<tooltip>This defaults to whatever the PBS_MACH string is set to in "local.mk". Units: string.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.cput" name="Resource_List.cput" type="string">
<description>Maximum amount of CPU time used by all processes in the job.</description>
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.file" name="Resource_List.file" type="string">
<description>The largest size of any single file that may be created by the job.</description>
<tooltip>Format: integer[suffix]; the suffix is a multiplier in bytes or words (word size of the host): b (bytes), w (words), kb/kw
(kilo), mb/mw (mega), gb/bw (giga).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.host" name="Resource_List.host" type="string">
<description>Name of host on which job should be run.</description>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.mem" name="Resource_List.mem" type="string">
<description>Maximum amount of memory used by all concurrent processes in the job.</description>
<tooltip>Format: integer[suffix]; the suffix is a multiplier in bytes or words (word size of the host): b (bytes), w (words), kb/kw
(kilo), mb/mw (mega), gb/bw (giga).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.nice" name="Resource_List.nice" type="integer" min="0" max="10">
<description>The nice value under which the job is to be run.</description>
<tooltip>0 to 10.</tooltip>
<default>0</default>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.nodes" name="Resource_List.nodes" basic="true" type="string">
<description>Number and/or type of nodes to be reserved for exclusive use by the job.</description>
<tooltip>The value is one or more node_specs joined with the '+' character, "node_spec[+node_spec...]. Each node_spec is a number
of
nodes required of the type declared in the node_spec and a name or one or more properity or properities desired for the nodes.
The
number, the name, and each properity in the node_spec are separated by a colon ':'. If no number is specified, one (1) is
assumed.
Units: string. The name of a node is its hostname. The properties of nodes are: ppn=# requested; defaults to 1; or an
arbitrary
string defined by system administrator. Example: To ask for 2 processors on each of two blue nodes and three processors
on one red
node: -l nodes=2:blue:ppn=2+red:ppn=3.
</tooltip>
<default>1</default>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.ompthreads" name="Resource_List.ompthreads" type="integer" min="1">
<description>Number of threads per processor for Open MP jobs.</description>
<default>1</default>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.pcput" name="Resource_List.pcput" type="string">
<description>Maximum amount of CPU time used by any single process in the job.</description>
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.pmem" name="Resource_List.pmem" type="string">
<description>Maximum amount of physical memory (workingset) used by any single process of the job.</description>
<tooltip>Format: integer[suffix]; the suffix is a multiplier in bytes or words (word size of the host): b (bytes), w (words), kb/kw
(kilo), mb/mw (mega), gb/bw (giga).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.pvmem" name="Resource_List.pvmem" type="string">
<description>Maximum amount of virtual memory used by any single process in the job.</description>
<tooltip>Format: integer[suffix]; the suffix is a multiplier in bytes or words (word size of the host): b (bytes), w (words), kb/kw
(kilo), mb/mw (mega), gb/bw (giga).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.vmem" name="Resource_List.vmem" type="string">
<description>Maximum amount of virtual memory used by all concurrent processes in the job.</description>
<tooltip>Format: integer[suffix]; the suffix is a multiplier in bytes or words (word size of the host): b (bytes), w (words), kb/kw
(kilo), mb/mw (mega), gb/bw (giga).
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Resource_List.walltime" name="Resource_List.walltime" basic="true" type="string">
<description>Maximum amount of real time during which the job can be in the running state.</description>
<tooltip>Format: [[hours:]minutes:]seconds[.milliseconds].</tooltip>
<default>00:30:00</default>
</job-attribute>
<job-attribute id="PBSJOB_Shell_Path_List" name="Shell_Path_List" type="string">
<description>A set of absolute paths of the program to process the job's script file.</description>
<tooltip>Format: path[@host][,path[@host]...]. If this is null, then the user's login shell on the host of execution will be used.
Default value: null, login shell.
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_stagein" name="stagein" type="string">
<description>The list of files to be staged in prior to job execution.</description>
<tooltip>Format: local_path@remote_host:remote_path.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_stageout" name="stageout" type="string">
<description>The list of files to be staged out after job execution.</description>
<tooltip>Format: local_path@remote_host:remote_path.</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_User_List" name="User_List" type="string">
<description>The list of user@hosts which determines the user name under which the job is run on a given host.</description>
<tooltip>When a job is to be placed into execution, the server will select a user name from the list according to the following
ordered set of rules: 1) Select the user name from the list for which the associated host name matches the name of the execution
host; 2) Select the user name which has no associated host name, the wild card name; 3) Use the Job_Owner as the user name.
Default
value: job owner name.
</tooltip>
</job-attribute>
<job-attribute id="PBSJOB_Variable_List" name="Variable_List" type="string">
<description>This is the list of environment variables passed with the Queue Job batch request.</description>
</job-attribute>
</attribute-definitions>
<launch-tab advancedModeEnabled="true">
<tab-controller>
<title>Standard</title>
<group>
<grid-layout numColumns="2"/>
<title>Script Configuration</title>
<widget type="selectAttributes">
<tooltip>Choose the attributes to display in the Detailed Tab.</tooltip>
</widget>
<widget type="showScript" readOnly="true">
<tooltip>Show the batch script as it would currently be submitted.</tooltip>
</widget>
</group>
<tab-folder>
<title>Job Settings</title>
<tab-item>
<title>Basic</title>
<group>
<grid-layout numColumns="3"/>
<!-- row 1 -->
<widget type="text">
<label>Job Name: </label>
<tooltip>${rm:Job_Name#tooltip}</tooltip>
<content>
<arglist>
<arg>${rm:Job_Name#value}</arg>
</arglist>
</content>
<saveValueTo>Job_Name</saveValueTo>
</widget>
<widget type="label">
<content>
<arglist>
<arg>${rm:Job_Name#description}</arg>
</arglist>
</content>
</widget>
<!-- row 2 -->
<widget type="combo" readOnly="true">
<label>Queue: </label>
<tooltip>${rm:destination#tooltip}</tooltip>
<content>
<arglist>
<arg>${rm:available_queues}</arg>
</arglist>
</content>
<saveValueTo>destination</saveValueTo>
</widget>
<widget type="label">
<content>
<arglist>
<arg>${rm:destination#description}</arg>
</arglist>
</content>
</widget>
<!-- row 3 -->
<widget type="text">
<label>Nodes: </label>
<tooltip>${rm:Resource_List.nodes#tooltip}</tooltip>
<content>
<arglist>
<arg>${rm:Resource_List.nodes#value}</arg>
</arglist>
</content>
<saveValueTo>Resource_List.nodes</saveValueTo>
</widget>
<widget type="label">
<content>
<arglist>
<arg>${rm:Resource_List.nodes#description}</arg>
</arglist>
</content>
</widget>
<!-- row 4 -->
<widget type="text">
<label>Wallclock Time</label>
<tooltip>${rm:Resource_List.walltime#tooltip}</tooltip>
<content>
<arglist>
<arg>${rm:Resource_List.walltime#value}</arg>
</arglist>
</content>
<saveValueTo>Resource_List.walltime</saveValueTo>
</widget>
<widget type="label">
<content>
<arglist>
<arg>${rm:Resource_List.walltime#description}</arg>
</arglist>
</content>
</widget>
<!-- row 5 -->
<widget type="combo" readOnly="true">
<label>MPI Command: </label>
<content>
<arglist>
<arg>mpiCommand</arg>
</arglist>
</content>
</widget>
<widget type="label">
<content>
<arglist>
<arg>MPI executable to use</arg>
</arglist>
</content>
</widget>
<!-- row 6 -->
<widget type="spinner" readOnly="true">
<label>MPI Number of Cores: </label>
<content>
<arglist>
<arg>mpiCores</arg>
</arglist>
</content>
</widget>
<widget type="label">
<content>
<arglist>
<arg>The number following "-np" on the command line</arg>
</arglist>
</content>
</widget>
</group>
</tab-item>
<tab-item>
<title>Detailed</title>
<group dynamic="true" scrollable="true">
<grid-layout numColumns="3"/>
<!-- iterates through all registered attributes, one to a row -->
<all-attributes>
<include sort="true" headers="true" name="true" tooltip="true" description="true"/>
</all-attributes>
</group>
</tab-item>
</tab-folder>
</tab-controller>
</launch-tab>
</control>
<monitor>
</monitor>
</resource-manager-data>