Commit e836a240 authored by THIBAULT Samuel's avatar THIBAULT Samuel
Browse files

Detail how to run starpu_replay, on the Cholesky example

parent 63b20cc7
......@@ -24,6 +24,7 @@
<tt>starpu_replay</tt> for replaying real-world applications</p>
<p>To get <tt>starpu_replay</tt>, one needs a version of starpu configured with
<tt>--enable-simgrid</tt> . One can then start the different task graph cases.
See more details below.
</p>
</div>
......@@ -43,9 +44,118 @@ benchmarked on research platforms.
</p>
</div>
<div class="section">
<h3>How to run this</h3>
<ul>
<li>First install <a href=https://simgrid.org>simgrid</a>. On Debian-based
systems you can simply install the <tt>libsimgrid-dev</tt> and <tt>libboost-dev</tt> packages.
<li>Download <a href=http://starpu.gforge.inria.fr/testing/starpu-1.3/starpu-nightly-latest.tar.gz>the latest 1.3 branch nightly snapshot</a> of StarPU.</a></li>
<li>Compile it with simgrid support enabled (no need to build it all, src/ and tools/ is enough):</li>
<tt>
<pre>
cd $STARPU
./configure --enable-simgrid
make -C src
make -C tools
</pre>
</tt>
</li>
<li>Download one of the examples from the market above, for instance:
<tt>
<pre>
wget http://starpu.gforge.inria.fr/market/cholesky.tgz
tar xf cholesky.tgz
cd cholesky
</pre>
</tt>
</li>
<li>See its README file to see some execution examples, and try them, for
instance:
<tt>
<pre>
STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec
</pre>
</tt>
</li>
<li>Which yields:
<tt>
<pre>
Read task 14000... done.
Submitted task order 14000... done.
Executed task 11000... done.
9900.77 ms 1976.13 GF/s
</pre>
</tt>
</li>
<li>You can re-run it as many times as desired, the resulting performance will always be the
same. Other matrix sizes can be set with the different tasks.rec files:
<tt>
<pre>
$ STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 10x10/tasks.rec 2> /dev/null
298.476 ms 1121.6 GF/s
$ STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 20x20/tasks.rec 2> /dev/null
1443.13 ms 1751.45 GF/s
$ STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 30x30/tasks.rec 2> /dev/null
4357.02 ms 1915.96 GF/s
$ STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
9900.77 ms 1976.13 GF/s
</pre>
</tt>
</li>
Other scheduling algorithms can be set with STARPU_SCHED:
<tt>
<pre>
$ STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
9900.77 ms 1976.13 GF/s
$ STARPU_SCHED=dmdar STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
10506.7 ms 1862.16 GF/s
$ STARPU_SCHED=dmda STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
10510.7 ms 1861.45 GF/s
$ STARPU_SCHED=lws STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
12403.5 ms 1577.4 GF/s
</pre>
</tt>
The scheduling algorithms can be tuned with e.g. STARPU_SCHED_BETA:
<tt>
<pre>
$ STARPU_SCHED_BETA=1 STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
9900.77 ms 1976.13 GF/s
$ STARPU_SCHED_BETA=2 STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
9895.55 ms 1977.17 GF/s
$ STARPU_SCHED_BETA=10 STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
10137.7 ms 1929.94 GF/s
$ STARPU_SCHED_BETA=100 STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay 40x40/tasks.rec 2> /dev/null
13660.1 ms 1432.29 GF/s
</pre>
</tt>
The simulation itself is sequential, but you can run several of them in
parallel:
<tt>
<pre>
( for size in 10 20 30 40 50 60 ; do
STARPU_SCHED=dmdas STARPU_HOSTNAME=mirage STARPU_PERF_MODEL_DIR=$PWD/sampling $STARPU/tools/starpu_replay ${size}x${size}/tasks.rec 2> /dev/null | sed -e "s/^/$size /" &
done ) | sort
</pre>
</tt>
</div>
<div class="section bot">
<p class="updated">
Last updated on 2018/09/24.
Last updated on 2019/09/06.
</p>
</div>
</body>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment