accounting

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

GROMACS log

id

accounting

pattern

\s*Computing.*

endPattern

\s*Total.*

endPattern2

~

endOffset

1

xml:base

times/accounting.xml

Input

 Computing:          Num   Num      Call    Wall time         Giga-Cycles
                     Ranks Threads  Count      (s)         total sum    %
-----------------------------------------------------------------------------
 Domain decomp.         4    6     200000    5103.204     330685.993   3.4
 DD comm. load          4    6       8001       0.241         15.622   0.0
 Neighbor search        4    6     200001    2261.103     146518.755   1.5
 Launch GPU ops.        4    6   16000002    1618.363     104869.419   1.1
 Comm. coord.           4    6    7800000    3533.431     228965.217   2.3
 Force                  4    6    8000001   46894.472    3038747.000  30.8
 Wait + Comm. F         4    6    8000001    4984.406     322987.904   3.3
 PME mesh               4    6    8000001   55351.105    3586734.101  36.4
 Wait GPU nonlocal      4    6    8000001     215.962      13994.284   0.1
 Wait GPU local         4    6    8000001     152.837       9903.762   0.1
 NB X/F buffer ops.     4    6   31600002    3155.777     204493.326   2.1
 Write traj.            4    6       8164     334.588      21681.182   0.2
 Update                 4    6    8000001    4064.861     263401.688   2.7
 Constraints            4    6    8000001   18507.381    1199272.451  12.2
 Comm. energies         4    6    4000001     246.077      15945.718   0.2
 Rest                                        5814.722     376792.141   3.8
-----------------------------------------------------------------------------
 Total                                     152238.529    9865008.563 100.0

Output text

 1<comment class="example.output" id="accounting">
 2         <module cmlx:templateRef="accounting">
 3            <array dataType="xsd:string" delimiter="#" dictRef="gm:work" size="16">Domain decomp.#DD comm. load#Neighbor search#Launch GPU ops.#Comm. coord.#Force#Wait + Comm. F#PME mesh#Wait GPU nonlocal#Wait GPU local#NB X/F buffer ops.#Write traj.#Update#Constraints#Comm. energies#Rest</array>
 4            <array dataType="xsd:double" dictRef="cc:wallTime" size="16">5103.204 0.241 2261.103 1618.363 3533.431 46894.472 4984.406 55351.105 215.962 152.837 3155.777 334.588 4064.861 18507.381 246.077 5814.722</array>
 5            <array dataType="xsd:double" dictRef="gm:gcyclessum" size="16">330685.993 15.622 146518.755 104869.419 228965.217 3038747.000 322987.904 3586734.101 13994.284 9903.762 204493.326 21681.182 263401.688 1199272.451 15945.718 376792.141</array>
 6            <array dataType="xsd:double" dictRef="gm:gcyclespercent" size="16">3.4 0.0 1.5 1.1 2.3 30.8 3.3 36.4 0.1 0.1 2.1 0.2 2.7 12.2 0.2 3.8</array>
 7            <scalar dataType="xsd:double" dictRef="gm:totalwalltime">152238.529</scalar>
 8            <scalar dataType="xsd:double" dictRef="gm:totalgcyclessum">9865008.563</scalar>
 9            <scalar dataType="xsd:double" dictRef="gm:totalgcyclespercent">100.0</scalar>
10         </module>
11    </comment>

Template definition

 1<record repeat="3" />
 2<templateList>  <template pattern="\s*((?!Rest).)*" endPattern="\s*Rest.*" endPattern2="~">    <record repeat="*">{X,gm:work}\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+{F,cc:wallTime}{F,gm:gcyclessum}{F,gm:gcyclespercent}</record>
 3        </template>  <template pattern="\s*Rest.*" endPattern=".*" endPattern2="~" endOffset="0">    <record>{X,gm:work}{F,cc:wallTime}{F,gm:gcyclessum}{F,gm:gcyclespercent}</record>
 4        </template>  <template pattern="\s*Total.*" endPattern=".*" endPattern2="~" endOffset="0">    <record repeat="*">\s*Total\s*{F,gm:totalwalltime}{F,gm:totalgcyclessum}{F,gm:totalgcyclespercent}</record>
 5        </template>
 6    </templateList>
 7<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:work']" delimiter="#" />
 8<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='cc:wallTime']" />
 9<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:gcyclessum']" />
10<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:gcyclespercent']" />
11<transform process="pullup" xpath=".//cml:array" repeat="3" />
12<transform process="pullup" xpath=".//cml:scalar" repeat="3" />
13<transform process="delete" xpath="./cml:module" />
14<transform process="delete" xpath="./cml:list" />