accounting ​
Implementation level ​
Type | Status |
---|---|
CML extraction template | |
HTML5 representation |
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 ​
xml
<comment class="example.output" id="accounting">
<module cmlx:templateRef="accounting">
<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>
<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>
<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>
<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>
<scalar dataType="xsd:double" dictRef="gm:totalwalltime">152238.529</scalar>
<scalar dataType="xsd:double" dictRef="gm:totalgcyclessum">9865008.563</scalar>
<scalar dataType="xsd:double" dictRef="gm:totalgcyclespercent">100.0</scalar>
</module>
</comment>
Template definition ​
xml
<record repeat="3" />
<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>
</template> <template pattern="\s*Rest.*" endPattern=".*" endPattern2="~" endOffset="0"> <record>{X,gm:work}{F,cc:wallTime}{F,gm:gcyclessum}{F,gm:gcyclespercent}</record>
</template> <template pattern="\s*Total.*" endPattern=".*" endPattern2="~" endOffset="0"> <record repeat="*">\s*Total\s*{F,gm:totalwalltime}{F,gm:totalgcyclessum}{F,gm:totalgcyclespercent}</record>
</template>
</templateList>
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:work']" delimiter="#" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='cc:wallTime']" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:gcyclessum']" />
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='gm:gcyclespercent']" />
<transform process="pullup" xpath=".//cml:array" repeat="3" />
<transform process="pullup" xpath=".//cml:scalar" repeat="3" />
<transform process="delete" xpath="./cml:module" />
<transform process="delete" xpath="./cml:list" />