| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- ******************************************************************************* --> |
| <!-- * Copyright (c) 2011 University of Illinois All rights reserved. This program --> |
| <!-- * and the accompanying materials are made available under the terms of the --> |
| <!-- * Eclipse Public License v1.0 which accompanies this distribution, and is --> |
| <!-- * available at http://www.eclipse.org/legal/epl-v10.html --> |
| <!-- * --> |
| <!-- * Contributors: --> |
| <!-- * Albert L. Rossi - design and implementation --> |
| <!-- ****************************************************************************** --> |
| <resource-manager-builder xmlns="http://org.eclipse.ptp/rm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="resource_manager_type.xsd" name="miscellaneous-example"> |
| <control-data> |
| <property name="path1" visible="true"/> |
| <property name="path2" visible="true"/> |
| <property name="path3" visible="true"/> |
| <property name="path4" visible="true"/> |
| <property name="check" visible="false"/> |
| <attribute name="e1" visible="true" status="valid" type="integer"> |
| <description>it's "e1"</description> |
| <tooltip>use in conjunction with E1</tooltip> |
| <default>1</default> |
| </attribute> |
| <attribute name="e2" visible="true" status="valid" type="integer"> |
| <description>it's "e2"</description> |
| <tooltip>use in conjunction with E2</tooltip> |
| <default>2</default> |
| </attribute> |
| <attribute name="e3" visible="true" status="valid" type="integer"> |
| <description>it's "e3"</description> |
| <tooltip>use in conjunction with E3</tooltip> |
| <default>3</default> |
| </attribute> |
| <attribute name="e4" visible="true" status="unsupported" type="integer"> |
| <description>it's "e4"</description> |
| <tooltip>use in conjunction with E4</tooltip> |
| <default>4</default> |
| </attribute> |
| <attribute name="e5" visible="true" status="unsupported" type="integer"> |
| <description>it's "e5"</description> |
| <tooltip>use in conjunction with E5</tooltip> |
| <default>5</default> |
| </attribute> |
| <attribute name="linked" visible="true" status="valid" type="string"> |
| <description>a linked variable</description> |
| <tooltip>use in conjunction with E5</tooltip> |
| <default>00:00:00</default> |
| <link-value-to>Resource_List.walltime</link-value-to> |
| </attribute> |
| <attribute name="saveFiles" type="integer"> |
| <description>Does nothing; for testing boolean value translation.</description> |
| </attribute> |
| <attribute name="mpiCommand" type="choice"> |
| <description>Which mpi command to use.</description> |
| <choice>,mpiexec,mpirun</choice> |
| </attribute> |
| <attribute name="mpiCores" min="1" type="integer"> |
| <description>the '-np' value</description> |
| <default>1</default> |
| </attribute> |
| <attribute name="destination" type="string"> |
| <description>Designation of the queue to which to submit the job.</description> |
| </attribute> |
| <attribute name="Resource_List.mem" type="string"> |
| <description>Maximum amount of memory used by all concurrent processes in the job.</description> |
| <default>20gb</default> |
| </attribute> |
| <attribute name="Resource_List.walltime" type="string"> |
| <description>Maximum amount of real time during which the job can be in the running state.</description> |
| <default>00:30:00</default> |
| <validator> |
| <regex expression="[0-9][0-9]:[0-9][0-9]:[0-9][0-9]"/> |
| <error-message>must be hh:mm:ss</error-message> |
| </validator> |
| </attribute> |
| <script> |
| <line> |
| <arg>QUEUE = ${ptp_rm:destination#value}</arg> |
| </line> |
| <line> |
| <arg>COMMAND = ${ptp_rm:mpiCommand#value}</arg> |
| </line> |
| <line> |
| <arg>CORES = ${ptp_rm:mpiCores#value}</arg> |
| </line> |
| <line> |
| <arg>MEM = ${ptp_rm:Resource_List.mem#value}</arg> |
| </line> |
| <line> |
| <arg>WALL = ${ptp_rm:Resource_List.walltime#value}</arg> |
| </line> |
| <line> |
| <arg>e1 = ${ptp_rm:e1#value}</arg> |
| </line> |
| <line> |
| <arg>e2 = ${ptp_rm:e2#value}</arg> |
| </line> |
| <line> |
| <arg>e3 = ${ptp_rm:e3#value}</arg> |
| </line> |
| <line> |
| <arg>e4 = ${ptp_rm:e4#value}</arg> |
| </line> |
| <line> |
| <arg>e5 = ${ptp_rm:e5#value}</arg> |
| </line> |
| <line> |
| <arg>path1 = ${ptp_rm:path1#value}</arg> |
| </line> |
| <line> |
| <arg>path2 = ${ptp_rm:path2#value}</arg> |
| </line> |
| <line> |
| <arg>path3 = ${ptp_rm:path3#value}</arg> |
| </line> |
| <line> |
| <arg>path4 = ${ptp_rm:path4#value}</arg> |
| </line> |
| <line> |
| <arg>linked = ${ptp_rm:linked#value}</arg> |
| </line> |
| </script> |
| <start-up-command name="get-input"> |
| <arg>ls</arg> |
| <arg>-l</arg> |
| <arg>${ptp_rm:directory#value}/input</arg> |
| <stdout-parser delim="\n"> |
| <target type="property"> |
| <match> |
| <expression>[-rwx+@]+.+[\d:]+[\s]+(.+)</expression> |
| <set field="name"> |
| <entry valueGroup="1"/> |
| </set> |
| <set field="readOnly"> |
| <entry value="true"/> |
| </set> |
| <set field="visible"> |
| <entry value="true"/> |
| </set> |
| <set field="value"> |
| <entry valueGroup="1"/> |
| </set> |
| </match> |
| </target> |
| </stdout-parser> |
| </start-up-command> |
| <start-up-command name="ompi_info"> |
| <arg>ompi_info</arg> |
| <arg>-a</arg> |
| <arg>-parseable</arg> |
| <stdout-parser delim="\n"> |
| <target type="attribute" allowOverwrites="true"> |
| <match> |
| <expression>mca:.*:param:([^:]*):value:(.*)</expression> |
| <set field="name"> |
| <entry valueGroup="1"/> |
| </set> |
| <set field="visible"> |
| <entry value="true"/> |
| </set> |
| <set field="value"> |
| <entry valueGroup="2"/> |
| </set> |
| </match> |
| <match> |
| <expression>mca:.*:param:([^:]*):status:(.*)</expression> |
| <set field="name"> |
| <entry valueGroup="1"/> |
| </set> |
| <set field="status"> |
| <entry valueGroup="2"/> |
| </set> |
| </match> |
| <match> |
| <expression>mca:.*:param:([^:]*):help:(.*)</expression> |
| <set field="name"> |
| <entry valueGroup="1"/> |
| </set> |
| <set field="tooltip"> |
| <entry valueGroup="2"/> |
| </set> |
| </match> |
| <test op="EQ"> |
| <value>#status</value> |
| <value>read-only</value> |
| <set field="readOnly"> |
| <entry value="true"/> |
| </set> |
| <else> |
| <set field="readOnly"> |
| <entry value="false"/> |
| </set> |
| </else> |
| </test> |
| </target> |
| <target type="attribute" allowOverwrites="true"> |
| <match> |
| <expression>(.*):([^:]*):([^:]*):([^:]*)</expression> |
| <append field="name"> |
| <entry valueGroup="1"/> |
| <entry valueGroup="2"/> |
| <entry valueGroup="3"/> |
| </append> |
| <set field="value"> |
| <entry valueGroup="4"/> |
| </set> |
| <set field="visible"> |
| <entry value="false"/> |
| </set> |
| <set field="readOnly"> |
| <entry value="true"/> |
| </set> |
| </match> |
| </target> |
| <target type="attribute" allowOverwrites="true"> |
| <match> |
| <expression>(.*):([^:]*)</expression> |
| <set field="name"> |
| <entry valueGroup="1"/> |
| </set> |
| <set field="value"> |
| <entry valueGroup="2"/> |
| </set> |
| <set field="visible"> |
| <entry value="false"/> |
| </set> |
| <set field="readOnly"> |
| <entry value="true"/> |
| </set> |
| </match> |
| </target> |
| </stdout-parser> |
| </start-up-command> |
| <submit-interactive name="submit-interactive"> |
| <arg>echo</arg> |
| <arg>$VAR_1</arg> |
| <arg>$VAR_2</arg> |
| <arg>$VAR_3</arg> |
| <arg>$VAR_4</arg> |
| <arg>$VAR_5</arg> |
| <environment name="VAR_1" value="${ptp_rm:e1#value}"/> |
| <environment name="VAR_2" value="${ptp_rm:e2#value}"/> |
| <environment name="VAR_3" value="${ptp_rm:e3#value}"/> |
| <environment name="VAR_4" value="${ptp_rm:e4#value}"/> |
| <environment name="VAR_5" value="${ptp_rm:e5#value}"/> |
| </submit-interactive> |
| <launch-tab> |
| <dynamic> |
| <title>Cores</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="4" makeColumnsEqualWidth="false" horizontalSpacing="10" verticalSpacing="15"/> |
| </layout> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Name</fixed-text> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" horizontalSpan="2" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Value</fixed-text> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Description</fixed-text> |
| </widget> |
| <!-- row 1 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Keep Files: </fixed-text> |
| </widget> |
| <widget type="checkbox" saveValueTo="saveFiles" style="SWT.LEFT" translateBooleanAs="1,0"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="false" horizontalSpan="2"/> |
| </layout-data> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>${ptp_rm:saveFiles#description}</fixed-text> |
| </widget> |
| <!-- row 2 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>MPI Number of Cores: </fixed-text> |
| </widget> |
| <button-group saveValueTo="mpiCores" group="true"> |
| <layout> |
| <row-layout type="SWT.VERTICAL" center="true" fill="true" justify="true"/> |
| </layout> |
| <button type="radiobutton" title="1"/> |
| <button type="radiobutton" title="2"/> |
| <button type="radiobutton" title="3"/> |
| <button type="radiobutton" title="4"/> |
| <button type="radiobutton" title="5"/> |
| <button type="radiobutton" title="6"/> |
| <button type="radiobutton" title="7"/> |
| <button type="radiobutton" title="8"/> |
| </button-group> |
| <!-- likewise cannot seem to make new composite with row layout span two columns of its parent grid layout, so we use another empty --> |
| <!-- label here as filler --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>${ptp_rm:mpiCores#description}</fixed-text> |
| </widget> |
| </composite> |
| </dynamic> |
| <dynamic includeWidgetValuesFrom="Cores,Paths"> |
| <title>Settings</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite> |
| <layout> |
| <grid-layout numColumns="4" makeColumnsEqualWidth="false" horizontalSpacing="10" verticalSpacing="15"/> |
| </layout> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Name</fixed-text> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" horizontalSpan="2" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Value</fixed-text> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_RED"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Description</fixed-text> |
| </widget> |
| <!-- row 1 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Total Memory Needed: </fixed-text> |
| </widget> |
| <widget type="text" style="SWT.BORDER" saveValueTo="Resource_List.mem"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/> |
| </layout-data> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>${ptp_rm:Resource_List.mem#description}</fixed-text> |
| </widget> |
| <!-- row 2 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Wallclock Time: </fixed-text> |
| </widget> |
| <widget type="text" style="SWT.BORDER" saveValueTo="Resource_List.walltime"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false" widthHint="150"/> |
| </layout-data> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>${ptp_rm:Resource_List.walltime#description}</fixed-text> |
| </widget> |
| <!-- row 3 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>MPI Command: </fixed-text> |
| </widget> |
| <widget type="combo" style="SWT.BORDER" readOnly="true" saveValueTo="mpiCommand"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="false"/> |
| </layout-data> |
| </widget> |
| <widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>${ptp_rm:mpiCommand#description}</fixed-text> |
| </widget> |
| </composite> |
| </dynamic> |
| <dynamic includeWidgetValuesFrom="Cores"> |
| <title>Paths</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite> |
| <layout> |
| <grid-layout numColumns="4" makeColumnsEqualWidth="false" horizontalSpacing="10" verticalSpacing="15"/> |
| </layout> |
| <layout-data> |
| <grid-data horizontalSpan="4" widthHint="700"/> |
| </layout-data> |
| <!-- row 1 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Browse URI: </fixed-text> |
| </widget> |
| <browse uri="true" textStyle="SWT.BORDER" readOnly="false" title="Browse" saveValueTo="path1"> |
| <text-layout-data> |
| <grid-data horizontalAlign="SWT.FILL" widthHint="200" horizontalSpan="2" grabExcessHorizontal="true"/> |
| </text-layout-data> |
| <button-layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" widthHint="100" horizontalSpan="1" grabExcessHorizontal="false"/> |
| </button-layout-data> |
| </browse> |
| <!-- row 2 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Browse Dir Path: </fixed-text> |
| </widget> |
| <browse uri="false" directory="true" textStyle="SWT.BORDER" readOnly="true" title="Browse" saveValueTo="path2"> |
| <text-layout-data> |
| <grid-data horizontalAlign="SWT.FILL" widthHint="200" horizontalSpan="2" grabExcessHorizontal="true"/> |
| </text-layout-data> |
| <button-layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" widthHint="100" horizontalSpan="1" grabExcessHorizontal="false"/> |
| </button-layout-data> |
| </browse> |
| <!-- row 3 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Browse Local File: </fixed-text> |
| </widget> |
| <browse textStyle="SWT.BORDER | SWT.H_SCROLL" readOnly="true" localOnly="true" title="Browse" saveValueTo="path3"> |
| <text-layout-data> |
| <grid-data horizontalAlign="SWT.FILL" widthHint="200" horizontalSpan="2" grabExcessHorizontal="true"/> |
| </text-layout-data> |
| <button-layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" widthHint="100" horizontalSpan="1" grabExcessHorizontal="false"/> |
| </button-layout-data> |
| </browse> |
| <!-- row 4 --> |
| <widget type="label" style="SWT.LEFT"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" grabExcessHorizontal="false"/> |
| </layout-data> |
| <fixed-text>Browse Local Dir URI: </fixed-text> |
| </widget> |
| <browse directory="true" uri="true" textStyle="SWT.BORDER" readOnly="true" localOnly="true" title="Browse" saveValueTo="path4"> |
| <text-layout-data> |
| <grid-data horizontalAlign="SWT.FILL" widthHint="200" horizontalSpan="2" grabExcessHorizontal="true"/> |
| </text-layout-data> |
| <button-layout-data> |
| <grid-data horizontalAlign="SWT.BEGINNING" widthHint="100" horizontalSpan="1" grabExcessHorizontal="false"/> |
| </button-layout-data> |
| </browse> |
| </composite> |
| </dynamic> |
| <dynamic> |
| <!-- <dynamic includeWidgetValuesFrom="Settings"> --> |
| <title>Environment Table</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="1"/> |
| </layout> |
| <viewer name="environmentT1" style="SWT.BORDER | SWT.MULTI" sort="true" type="table"> |
| <layout-data> |
| <grid-data widthHint="600" heightHint="200" horizontalSpan="1"/> |
| </layout-data> |
| <!-- These are the 6 attribute fields mappable to columns. In a "table viewer" the order of the columns is entirely arbitrary --> |
| <column-data name="Name" width="100"/> |
| <column-data name="Status" width="100"/> |
| <column-data name="Description" width="100"/> |
| <column-data name="Value" width="100"/> |
| <column-data name="Default" width="100"/> |
| <column-data name="Type" width="100"/> |
| <items> |
| <include>e1</include> |
| <include>e2</include> |
| <include>e3</include> |
| <include>e4</include> |
| <include>e5</include> |
| <include>linked</include> |
| </items> |
| <value pattern="export @name='@value'" separator="; "/> |
| </viewer> |
| </composite> |
| </dynamic> |
| <dynamic> |
| <!-- <dynamic includeWidgetValuesFrom="Settings"> --> |
| <title>Environment Tree</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="1"/> |
| </layout> |
| <viewer name="environmentT2" style="SWT.BORDER | SWT.MULTI" sort="true" type="tree"> |
| <layout-data> |
| <grid-data widthHint="600" heightHint="200" horizontalSpan="1"/> |
| </layout-data> |
| <column-data name="Name" width="100"/> |
| <column-data name="Description" width="100"/> |
| <column-data name="Type" width="100"/> |
| <column-data name="Status" width="100"/> |
| <column-data name="Default" width="100"/> |
| <column-data name="Value" width="100"/> |
| <items> |
| <include>e1</include> |
| <include>e2</include> |
| <include>e3</include> |
| <include>e4</include> |
| <include>e5</include> |
| <include>linked</include> |
| </items> |
| <value pattern="export @name='@value'" separator="; "/> |
| </viewer> |
| </composite> |
| </dynamic> |
| <dynamic> |
| <!-- <dynamic includeWidgetValuesFrom="Settings"> --> |
| <title>Environment Tree Value Only</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="1"/> |
| </layout> |
| <viewer name="environmentT3" style="SWT.BORDER | SWT.MULTI" sort="true" type="tree" initialAllChecked="false"> |
| <layout-data> |
| <grid-data widthHint="600" heightHint="200" horizontalSpan="1"/> |
| </layout-data> |
| <column-data name="Name" width="100"/> |
| <column-data name="Value" width="100"/> |
| <items allDiscovered="true"> |
| <include>e1</include> |
| <include>e2</include> |
| <include>e3</include> |
| <include>e4</include> |
| <include>e5</include> |
| <include>linked</include> |
| </items> |
| <value pattern="export @name='@value'" separator="; "/> |
| </viewer> |
| </composite> |
| </dynamic> |
| <dynamic> |
| <title>Basic Open MPI</title> |
| <layout> |
| <grid-layout numColumns="3"/> |
| </layout> |
| <widget type="label" style="SWT.NONE"> |
| <fixed-text>Number of processes:</fixed-text> |
| </widget> |
| <widget type="spinner" style="SWT.BORDER" saveValueTo="numProcs"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.LEFT" verticalAlign="SWT.CENTER" horizontalSpan="2"/> |
| </layout-data> |
| </widget> |
| <!-- Options group --> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="4"/> |
| </layout> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true" horizontalSpan="3"/> |
| </layout-data> |
| <title>Options</title> |
| <widget type="checkbox" title="By node"/> |
| <widget type="checkbox" title="By slot"/> |
| <widget type="checkbox" title="No oversubscribe"/> |
| <widget type="checkbox" title="No local"/> |
| <widget type="checkbox" title="Prefix:"/> |
| <widget type="text" style="SWT.BORDER" saveValueTo="prefix"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" horizontalSpan="3" grabExcessHorizontal="true"/> |
| </layout-data> |
| </widget> |
| </composite> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="3"/> |
| </layout> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.FILL" grabExcessHorizontal="true" grabExcessVertical="true" |
| horizontalSpan="2"/> |
| </layout-data> |
| <title>Hosts</title> |
| <widget type="checkbox" title="Host file:"/> |
| <browse textStyle="SWT.BORDER" title="Browse"> |
| <text-layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true"/> |
| </text-layout-data> |
| <button-layout-data> |
| <grid-data horizontalAlign="SWT.RIGHT" verticalAlign="SWT.CENTER"/> |
| </button-layout-data> |
| </browse> |
| <widget type="checkbox" title="Host list:"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.LEFT" verticalAlign="SWT.TOP"/> |
| </layout-data> |
| </widget> |
| <widget type="text" style="SWT.V_SCROLL | SWT.BORDER" saveValueTo="host_list"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.FILL" horizontalSpan="2" grabExcessHorizontal="true" |
| grabExcessVertical="true"/> |
| </layout-data> |
| </widget> |
| </composite> |
| </dynamic> |
| <dynamic> |
| <title>Advanced Open MPI</title> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <!-- Launch group --> |
| <composite group="true"> |
| <layout> |
| <grid-layout numColumns="2"/> |
| </layout> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true"/> |
| </layout-data> |
| <title>Launch Arguments</title> |
| <widget type="checkbox" title="Use default arguments"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true" horizontalSpan="2"/> |
| </layout-data> |
| </widget> |
| <widget type="label"> |
| <layout-data> |
| <grid-data/> |
| </layout-data> |
| <fixed-text>Arguments:</fixed-text> |
| </widget> |
| <widget type="text" readOnly="true" style="SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL"> |
| <layout-data> |
| <grid-data heightHint="100" horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true"/> |
| </layout-data> |
| <dynamic-text> |
| <arg>${ptp_rm:allAttributes#value}</arg> |
| </dynamic-text> |
| </widget> |
| </composite> |
| <!-- MCA group --> |
| <composite group="true"> |
| <layout> |
| <grid-layout/> |
| </layout> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.FILL" grabExcessHorizontal="true" grabExcessVertical="true"/> |
| </layout-data> |
| <title>MCA Parameters</title> |
| <viewer name="allAttributes" style="SWT.BORDER | SWT.MULTI" sort="true" type="table" initialAllChecked="false"> |
| <layout-data> |
| <grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/> |
| </layout-data> |
| <column-data name="Name" width="175"> |
| <tooltip>Double-click on selected rows toggles their checked value.</tooltip> |
| </column-data> |
| <column-data name="Value" width="200"> |
| <tooltip>Click to activate value widget.</tooltip> |
| </column-data> |
| <items allDiscovered="true"> |
| </items> |
| <value pattern="-mca @name "@value""/> |
| </viewer> |
| </composite> |
| </dynamic> |
| </launch-tab> |
| </control-data> |
| <monitor-data schedulerType="Tabbed"> |
| <driver> |
| <name></name> |
| </driver> |
| </monitor-data> |
| </resource-manager-builder> |