Browse Source

redo the structograms for the benchmark code

master
Constantin Fürst 11 months ago
parent
commit
89d2a6c71f
  1. 28
      thesis/images/image-source/structo-benchmark-v2-inner.nsd
  2. 27
      thesis/images/image-source/structo-benchmark-v2-inner.nsd.bak
  3. 274
      thesis/images/image-source/structo-benchmark-v2-inner.svg
  4. 17
      thesis/images/image-source/structo-benchmark-v2.nsd
  5. 17
      thesis/images/image-source/structo-benchmark-v2.nsd.bak
  6. 220
      thesis/images/image-source/structo-benchmark-v2.svg
  7. BIN
      thesis/images/structo-benchmark-v2-inner.pdf
  8. BIN
      thesis/images/structo-benchmark-v2.pdf

28
thesis/images/image-source/structo-benchmark-v2-inner.nsd

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:nsd="https://structorizer.fisch.lu" version="3.32-15" preRepeat="until " postFor="to" preReturn="return" postForIn="in" preWhile="while " output="OUTPUT" input="INPUT" preFor="for" preExit="exit" preLeave="leave" ignoreCase="true" preThrow="throw" preForIn="foreach" stepFor="by" namespace="" author="user" created="2024-02-04" changedby="user" changed="2024-02-04" origin="Structorizer 3.32-15" text="&#34;BenchmarkInner()&#34;" comment="&#34;&#34;" color="ffffff" type="program" style="nice">
<children>
<instruction text="&#34;LAUNCH_BARRIER.wait()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<for text="&#34;for amount of inner repetitions&#34;" comment="&#34;&#34;" counterVar="dummy_counter" startValue="amount of inner repetitions" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<case text="&#34;mode&#34;,&#34;single submit&#34;,&#34;batch submit&#34;,&#34;%&#34;" comment="&#34;&#34;" color="ffffff" disabled="0">
<qCase>
<instruction text="&#34;handler &#60;- dml::submit(dml::memcopy, src, dst, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qCase>
<qCase>
<instruction text="&#34;sequence &#60;- dml::sequence(batchsize)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<for text="&#34;for batchsize&#34;" comment="&#34;&#34;" counterVar="dummy_counter" startValue="batchsize" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<instruction text="&#34;sequence.add(dml::memcopy, src, dst, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qFor>
</for>
<instruction text="&#34;handler &#60;- dml::submit(dml::batch, sequence)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qCase>
<qCase color="ffffff">
</qCase>
</case>
<instruction text="&#34;result &#60;- handler.get()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;assert result.status == dml::ok&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qFor>
</for>
</children>
</root>

27
thesis/images/image-source/structo-benchmark-v2-inner.nsd.bak

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:nsd="https://structorizer.fisch.lu" version="3.32-15" preRepeat="until " postFor="to" preReturn="return" postForIn="in" preWhile="while " output="OUTPUT" input="INPUT" preFor="for" preExit="exit" preLeave="leave" ignoreCase="true" preThrow="throw" preForIn="foreach" stepFor="by" namespace="" author="user" created="2024-02-04" changedby="user" changed="2024-02-04" origin="Structorizer 3.32-15" text="&#34;BenchmarkInner()&#34;" comment="&#34;&#34;" color="ffffff" type="program" style="nice">
<children>
<for text="&#34;for amount of inner repetitions&#34;" comment="&#34;&#34;" counterVar="dummy_counter" startValue="amount of inner repetitions" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<case text="&#34;mode&#34;,&#34;single submit&#34;,&#34;batch submit&#34;,&#34;%&#34;" comment="&#34;&#34;" color="ffffff" disabled="0">
<qCase>
<instruction text="&#34;handler &#60;- dml::submit(dml::memcopy, src, dst, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qCase>
<qCase>
<instruction text="&#34;sequence &#60;- dml::sequence(batchsize)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<for text="&#34;for batchsize&#34;" comment="&#34;&#34;" counterVar="dummy_counter" startValue="batchsize" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<instruction text="&#34;sequence.add(dml::memcopy, src, dst, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qFor>
</for>
<instruction text="&#34;handler &#60;- dml::submit(dml::batch, sequence)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qCase>
<qCase color="ffffff">
</qCase>
</case>
<instruction text="&#34;result &#60;- handler.get()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;assert result.status == dml::ok&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
</qFor>
</for>
</children>
</root>

274
thesis/images/image-source/structo-benchmark-v2-inner.svg
File diff suppressed because it is too large
View File

17
thesis/images/image-source/structo-benchmark-v2.nsd

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:nsd="https://structorizer.fisch.lu" version="3.32-15" preRepeat="until " postFor="to" preReturn="return" postForIn="in" preWhile="while " output="OUTPUT" input="INPUT" preFor="for" preExit="exit" preLeave="leave" ignoreCase="true" preThrow="throw" preForIn="foreach" stepFor="by" author="user" created="2024-02-04" changedby="user" changed="2024-02-04" origin="Structorizer 3.32-15" text="&#34;Benchmark()&#34;" comment="" color="ffffff" type="program" style="nice">
<children>
<instruction text="&#34;src &#60;- allocate source memory&#34;,&#34;dst &#60;- allocate destination memory&#34;" comment="" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;memset(src, 0xAB, size)&#34;,&#34;memset(dst, 0xAB, size)&#34;" comment="" color="ffffff" rotated="0" disabled="0"></instruction>
<for text="&#34;for amount of repetitions&#34;" comment="" counterVar="dummy_counter" startValue="amount of repetitions" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<instruction text="&#34;dml::flush_cache(src, size)&#34;,&#34;dml::flush_cache(dst, size)&#34;" comment="" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;threads &#60;- thread pool&#34;,&#34;with BenchmarkInner()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;begin time measurement&#34;" comment="" color="ffff80" rotated="0" disabled="0"></instruction>
<instruction text="&#34;LAUNCH_BARRIER.set()&#34;" comment="" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;for all t in threads: t.join()&#34;" comment="" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;end time measurement&#34;" comment="" color="ffff80" rotated="0" disabled="0"></instruction>
</qFor>
</for>
</children>
</root>

17
thesis/images/image-source/structo-benchmark-v2.nsd.bak

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:nsd="https://structorizer.fisch.lu" version="3.32-15" preRepeat="until " postFor="to" preReturn="return" postForIn="in" preWhile="while " output="OUTPUT" input="INPUT" preFor="for" preExit="exit" preLeave="leave" ignoreCase="true" preThrow="throw" preForIn="foreach" stepFor="by" namespace="" author="user" created="2024-02-04" changedby="user" changed="2024-02-04" origin="Structorizer 3.32-15" text="&#34;Benchmark()&#34;" comment="&#34;&#34;" color="ffffff" type="program" style="nice">
<children>
<instruction text="&#34;src &#60;- allocate source memory&#34;,&#34;dst &#60;- allocate destination memory&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;memset(src, 0xAB, size)&#34;,&#34;memset(dst, 0xAB, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<for text="&#34;for amount of repetitions&#34;" comment="&#34;&#34;" counterVar="dummy_counter" startValue="amount of repetitions" stepConst="1" style="FREETEXT" color="ffffff" disabled="0">
<qFor>
<instruction text="&#34;dml::flush_cache(src, size)&#34;,&#34;dml::flush_cache(dst, size)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;threads &#60;- init thread pool&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;begin time measurement&#34;" comment="&#34;&#34;" color="ffff80" rotated="0" disabled="0"></instruction>
<instruction text="&#34;LAUNCH_BARRIER.set()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;for all t in threads: t.join()&#34;" comment="&#34;&#34;" color="ffffff" rotated="0" disabled="0"></instruction>
<instruction text="&#34;end time measurement&#34;" comment="&#34;&#34;" color="ffff80" rotated="0" disabled="0"></instruction>
</qFor>
</for>
</children>
</root>

220
thesis/images/image-source/structo-benchmark-v2.svg
File diff suppressed because it is too large
View File

BIN
thesis/images/structo-benchmark-v2-inner.pdf

BIN
thesis/images/structo-benchmark-v2.pdf

Loading…
Cancel
Save