<div dir="auto">Hi, <div dir="auto"><br></div><div dir="auto">I did a similar implementation in my gsoc project covering most of the operations..</div><div dir="auto"><br></div><div dir="auto">But a small diference in my implementation that running the executable of each operation produces the file containing the benchmarking data directly</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Fady Essam</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 12, 2018, 4:08 AM Stefan Seefeld via ublas <<a href="mailto:ublas@lists.boost.org">ublas@lists.boost.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div text="#000000" bgcolor="#FFFFFF"> <p>Hi there,</p> <p>I have been looking at the existing benchmarks, to see how to extend them to cover more functions as well as alternative implementations. The existing benchmarks have a few shortcomings that I would like to address:</p> <p>* a single benchmark executable will measure a range of operations, and write output to stdout. It's impossible to benchmark individual operations</p> <p>* operations are measured with a single set of inputs. It would be very helpful to be able to run operations on a range of inputs, to see how they perform over a variety of problem sizes.</p> <p>* the generated output should be easily machine-readable, so it can be post-processed into benchmark reports (including performance charts).</p> <p><br> </p> <p>(The above will be particularly useful as we are preparing PRs to include support for OpenCL backends (work that has been done by Fady Essam as a GSoC project).<br> </p> <p><br> </p> <p>I have attempted to prototype a few new benchmarks (matrix-matrix products, as well as matrix-vector products, for a variety of value-types), together with a simple script to produce graphs. For example, the attached plot was produced running:</p> <p>```<br> </p> <p> .../mm_prod -t float > mm_prod_float.txt</p> <p>.../mm_prod -t double > mm_prod_double.txt</p> <p>.../mm_prod -t fcomplex > mm_prod_fcomplex.txt</p> <p>.../mm_prod -t dcomplex > mm_prod_dcomplex.txt</p> <p>plot.py mm_prod_*.txt</p> <p>```<br> </p> <p>I'd appreciate any feedback, both on the general concepts, as well as the code, which is here: <a class="m_-7577290477398864347moz-txt-link-freetext" href="https://github.com/boostorg/ublas/pull/57" target="_blank" rel="noreferrer">https://github.com/boostorg/ublas/pull/57</a><br> </p> <p>Thanks,<br> </p> <div class="m_-7577290477398864347moz-signature"><br> <div class="m_-7577290477398864347moz-signature"><img src="cid:part2.46400B7C.D0CDDC8B@seefeld.name" alt="Stefan" height="45" width="73"><br> <pre>-- ...ich hab' noch einen Koffer in Berlin... </pre> </div> </div> </div> _______________________________________________<br> ublas mailing list<br> <a href="mailto:ublas@lists.boost.org" target="_blank" rel="noreferrer">ublas@lists.boost.org</a><br> <a href="https://lists.boost.org/mailman/listinfo.cgi/ublas" rel="noreferrer noreferrer" target="_blank">https://lists.boost.org/mailman/listinfo.cgi/ublas</a><br> Sent to: <a href="mailto:fadyesam1996@gmail.com" target="_blank" rel="noreferrer">fadyesam1996@gmail.com</a><br> </blockquote></div>