hardware

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

GROMACS log

id

hardware

name

Hardware section

pattern

\s*Detecting\sCPU\sSIMD\sinstructions.*

pattern2

\s*Running\s*on.*node.*

pattern3

\s*Hardware\sdetected\son\shost.*

endPattern

.*GPUs\sauto-selected.*

endPattern2

\s*#.*:.*$\s*$\s*

endOffset

2

repeat

*

xml:base

job/hardware.xml

Comment

Running on 1 node with total 6 cores, 6 logical cores, 1 compatible GPU
Hardware detected on host XXXX (the node of MPI rank 0):
  CPU info:
    Vendor: Intel
    Brand:  Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
    Family: 6   Model: 79   Stepping: 1
    Features: aes apic avx avx2 clfsh cmov cx8 cx16 f16c fma hle intel lahf mmx msr pcid pclmuldq pdpe1gb popcnt pse rdrnd rdtscp rtm sse2 sse3 sse4.1 sse4.2 ssse3
  Hardware topology: Only logical processor count
  GPU info:
    Number of GPUs detected: 1
    #0: NVIDIA Tesla P100-PCIE-16GB, compute cap.: 6.0, ECC: yes, stat: compatible

Input

Detecting CPU SIMD instructions.
Present hardware specification:
Vendor: GenuineIntel
Brand:  Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
Family:  6  Model: 62  Stepping:  4
Features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
SIMD instructions most likely to fit this hardware: AVX_256
SIMD instructions selected at GROMACS compile time: AVX_256


4 GPUs detected:
  #0: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible
  #1: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible
  #2: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible
  #3: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible

4 GPUs auto-selected for this run.
Mapping of GPUs to the 4 PP ranks in this node: #0, #1, #2, #3

Output text

 1<comment class="example.output" id="hardware">
 2        <module cmlx:templateRef="hardware">
 3             <list dictRef="hardware">
 4                <scalar dataType="xsd:string" dictRef="gm:hardware">Detecting CPU SIMD instructions.</scalar>
 5                <scalar dataType="xsd:string" dictRef="gm:hardware">Present hardware specification:</scalar>
 6                <scalar dataType="xsd:string" dictRef="gm:hardware">Vendor: GenuineIntel</scalar>
 7                <scalar dataType="xsd:string" dictRef="gm:hardware">Brand:  Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz</scalar>
 8                <scalar dataType="xsd:string" dictRef="gm:hardware">Family:  6  Model: 62  Stepping:  4</scalar>
 9                <scalar dataType="xsd:string" dictRef="gm:hardware">Features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic</scalar>
10                <scalar dataType="xsd:string" dictRef="gm:hardware">SIMD instructions most likely to fit this hardware: AVX_256</scalar>
11                <scalar dataType="xsd:string" dictRef="gm:hardware">SIMD instructions selected at GROMACS compile time: AVX_256</scalar>
12                <scalar dataType="xsd:string" dictRef="gm:hardware">4 GPUs detected:</scalar>
13                <scalar dataType="xsd:string" dictRef="gm:hardware">#0: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible</scalar>
14                <scalar dataType="xsd:string" dictRef="gm:hardware">#1: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible</scalar>
15                <scalar dataType="xsd:string" dictRef="gm:hardware">#2: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible</scalar>
16                <scalar dataType="xsd:string" dictRef="gm:hardware">#3: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible</scalar>
17                <scalar dataType="xsd:integer" dictRef="gm:numProcGPU">4</scalar>
18                <scalar dataType="xsd:integer" dictRef="gm:numRanks">4</scalar>
19             </list>
20          </module>
21    </comment>

Output text

 1<comment class="example.output" id="hardware2">
 2     <module cmlx:templateRef="hardware">
 3         <list dictRef="hardware">
 4            <scalar dataType="xsd:string" dictRef="gm:hardware">Running on 1 node with total 6 cores, 6 logical cores, 1 compatible GPU</scalar>
 5            <scalar dataType="xsd:string" dictRef="gm:hardware">Hardware detected on host XXXX (the node of MPI rank 0):</scalar>
 6            <scalar dataType="xsd:string" dictRef="gm:hardware">CPU info:</scalar>
 7            <scalar dataType="xsd:string" dictRef="gm:hardware">Vendor: Intel</scalar>
 8            <scalar dataType="xsd:string" dictRef="gm:hardware">Brand:  Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz</scalar>
 9            <scalar dataType="xsd:string" dictRef="gm:hardware">Family: 6   Model: 79   Stepping: 1</scalar>
10            <scalar dataType="xsd:string" dictRef="gm:hardware">Features: aes apic avx avx2 clfsh cmov cx8 cx16 f16c fma hle intel lahf mmx msr pcid pclmuldq pdpe1gb popcnt pse rdrnd rdtscp rtm sse2 sse3 sse4.1 sse4.2 ssse3</scalar>
11            <scalar dataType="xsd:string" dictRef="gm:hardware">Hardware topology: Only logical processor count</scalar>
12            <scalar dataType="xsd:string" dictRef="gm:hardware">GPU info:</scalar>
13            <scalar dataType="xsd:string" dictRef="gm:hardware">Number of GPUs detected: 1</scalar>
14            <scalar dataType="xsd:string" dictRef="gm:hardware">#0: NVIDIA Tesla P100-PCIE-16GB, compute cap.: 6.0, ECC: yes, stat: compatible</scalar>
15         </list>
16      </module>
17
18    </comment>

Template definition

1<templateList>  <template pattern="\s*Detecting\sCPU\sSIMD\sinstructions.*" pattern2=".*GPUs\sdetected.*" pattern3="\s*Running\s*on.*node.*" pattern4="\s*Hardware\sdetected\son\shost.*" endPattern="\s*" endPattern2="~" endOffset="0" repeat="*">    <record repeat="*">{X,gm:hardware}</record>
2        </template>  <template pattern=".*GPUs\sauto-selected.*" endPattern="\s*" endPattern2="~">    <record repeat="*">{I,gm:numProcGPU}GPUs\sauto-selected.*</record>    <record>\s*Mapping\sof\sGPUs\sto\sthe{I,gm:numRanks}.*ranks\sin\sthis\snode:.*</record>
3        </template>  <transform process="addChild" xpath="." elementName="cml:list" dictRef="hardware" />  <transform process="moveRelative" xpath=".//cml:scalar" to="../../../cml:list[@dictRef='hardware']" />  <transform process="addChild" xpath="." elementName="cml:scalar" dictRef="gm:numProcGPU" value="$string(replace(//cml:scalar[@dictRef='gm:hardware' and contains(text(), 'Number of GPUs detected')]/text(), 'Number of GPUs detected:\s*', ''))" />  <transform process="delete" xpath=".//cml:scalar[@dictRef='gm:numProcGPU' and text() ='']" />  <transform process="moveRelative" xpath="./cml:scalar" to="../cml:list[@dictRef='hardware']" />  <transform process="delete" xpath=".//cml:scalar[@dictRef='gm:numProcGPU' and empty(text())]" />  <transform process="delete" xpath=".//cml:module" />
4    </templateList>