DRM Custom UI Example

An example <drm-name>_options.xml file is shown below, along with the resulting dialog box.

<?xml version="1.0" encoding="utf-8"?>
<wfext:Extension xmlns:wfext="http://www.3ds.com/SMAExeExtensionsNoTypesUQ" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 name="CustomDRM" version="1.0.0" extensionKind="DRM">
  <DisplayName>DS LSF</DisplayName>
  <Description>DS LSF</Description>
  <!-- Add optional attribute "cores" to specify which property refers to number of cores (or CPUs) -->
  <!-- This property is handled specially in the UI -->
  <Attributes>
     <Attribute name="cores">
        <Value>-n</Value>
     </Attribute>
  </Attributes>
  
  <Properties>
    <!-- String input field with default value:  LSF Host Group -->
    <Property id="1" name="-m" required="true" type="string" ReadOnlyFlag="false">
       <DisplayName>Host Group</DisplayName>
       <Value>linux</Value>
       <Description>LSF host group</Description>
    </Property>
    <!-- Integer input field with default value:  Cores -->
    <Property id="2" name="-n" required="true" type="integer" ReadOnlyFlag="false">
       <DisplayName>Cores</DisplayName>
       <Value>1</Value>
       <Description>Number of cores to utilize</Description>
    </Property>
    <!-- String input field with default value:  LSF Run Limit -->
    <Property id="3" name="-W" required="true">
       <DisplayName>Runtime Limit</DisplayName>
       <Value>2:00</Value>
       <Description>Runtime Limit. Value in minutes or hh:mm</Description>
    </Property>
    <!-- Integer input field with default value:  Custom Resource String aba_mem -->
    <Property id="4" name="-ppn" required="false" type="integer">
       <DisplayName>Processors per node</DisplayName>
       <Value>8</Value>
       <Description>Number of cores per node for DMP jobs</Description>
    </Property>
    <!-- Integer input field with default value:  Custom Resource String aba_mem -->
    <Property id="5" name="-aba_mem" required="false" type="integer">
       <DisplayName>Memory (GB)</DisplayName>
       <Value>2</Value>
       <Description>Value for aba_mem resource</Description>
    </Property>
    <!-- Select list with default value:  LSF Queue -->
    <Property id="6" name="-q" required="false">
       <DisplayName>Queue</DisplayName>
       <Value></Value>
       <Limit type="choice">
          short
          long
          highpriority
          bigmem
          code
          qcap
          sikuli
       </Limit>
       <Description>LSF queue</Description>
     </Property>
     <!-- String input field with default value:  LSF Job Name -->
     <Property id="7" name="-J" required="false" type="string" ReadOnlyFlag="false">
        <DisplayName>Job Name</DisplayName>
        <Value></Value>
        <Description>LSF Job Name</Description>
     </Property>
     <!-- Select list with no default value:  CPU type -->
     <Property id="9" name="-cputype" required="false">
        <DisplayName>Processor type</DisplayName>
        <Value></Value>
        <Limit type="choice">
          sandybridge
          ivybridge
          haswell
          broadwell
          skylake
        </Limit>
        <Description>Processor type</Description>
     </Property>
     <!-- Select list with no default value:  LSF Project -->
     <Property id="8" name="-g" required="false">
        <DisplayName>Group Name</DisplayName>
        <Value></Value>
        <Description>LSF Group Name</Description>
     </Property>
     <!-- Checkbox with default value:  LSF Exclusive Execution Flag -->
     <Property name="-x" type="boolean" required="false" id="10">
        <DisplayName>Exclusive?</DisplayName>
        <Value>false</Value>
     </Property>
     <!-- Hidden input field: LSF Application Profile. Can make visible by changing VisibleFlag -->
     <Property name="-app" type="string" required="true" id="11" ReadOnlyFlag="true" VisibleFlag="false">
        <DisplayName>Application Profile</DisplayName>
        <Value>NO_JOBWRAPPER</Value>
     </Property>
   </Properties>
</wfext:Extension>

The custom "DS LSF" options specified by the example XML file above are shown below in Simulate Options dialog box of the Structural Scenario Creation app.

Customized LSF Options in Structural Scenario Creation