Dear Steve,
Le 11/12/2017 à 14:46, Steve Linton a écrit :
> The benchmark help seems to suggest that -p selects some kind of paralellisation strategy. A couple
> more questions: 1. How is the number of threads controlled?
The parallelization is by default based on OpenMP. Hence the number of threads used is defined by
OpenMP. You can set it with the environment variable OMP_NUM_THREADS.
Then, the various parallel algorithms use another parameter (called number of virtual threads in
benchmark-fgemm documentation) which you set with the option -t.
It is used to define the drive the block partitionning. by default it is set to omp_numthreads, but
you can arbitrarily force it to a larger value.
For instance, a run on a 32 core machine, with -t 128, will use 32 OMP threads, but generate a
splitting into 128 tasks, hence sometimes allowing a more efficient workstealing.
libgomp is actually not so good at managing many more tasks than threads, but when using XKaapi's
implementation of OpenMP through libkomp, we saw some improvements in doing so.
This is discussed in our 2016 PARCO paper:
http://dx.doi.org/10.1016/j.parco.2015.10.003
and in Ziad Sultan's phd thesis:
http://moais.imag.fr/membres/ziad.sultan/dokuwiki/lib/tpl/PHD/these.pdf
2. Is the time printed by the benchmark
> wall clock time or CPU time?
walltime of course. benchmark-fgemm.C line 212 calls chrono.realtime() which is a walltime measure
(as opposed to chrono.usertime() for CPU time).
Let us know if you have any further question.
And apologies for the rough documentation.
Best
Clément
> On Monday, 11 December 2017 12:29:50 UTC, Steve Linton wrote:
>
> Hi,
>
> I've installed fflas-ffpack in order to benchmark it as a reference point for some new software.
> The benchmarks directory contains very useful programs, but I can't find a benchmark for
> multi-threaded multiply (or echelon form).
> As far as I can see fflas suppresses any multi-threading in openBLAS, and the -t option only
> seems to relate to some aspect of the setup. What do I have to do ask fflas to do some operation
> using N threads and measure wall-clock time taken?
>
> Also, I can't seem to build any usable documentation. Am I doing something stupid, or is that
> still work-in-progress.
>
> Thanks
>
> Steve
>
> --
> You received this message because you are subscribed to the Google Groups "ffpack-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
>
ffpack-devel...@googlegroups.com <mailto:
ffpack-devel...@googlegroups.com>.
> To post to this group, send email to
ffpack...@googlegroups.com
> <mailto:
ffpack...@googlegroups.com>.
> Visit this group at
https://groups.google.com/group/ffpack-devel.
> For more options, visit
https://groups.google.com/d/optout.