[cfe-dev] [llvm-dev] test-suite: a new proposal for how to move forward to make "test-suite" more automatic, more flexible, and more maintainable, especially WRT reference outputs

Renato Golin via cfe-dev cfe-dev at lists.llvm.org
Thu Oct 6 08:38:26 PDT 2016


On 6 October 2016 at 16:11, Sebastian Pop via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
> There is a very easy way to output only one double from the polybench:
> - compile the kernel with fp-contract=off and -fno-fast-math

Sebastian, please stop crossing the wires. This is a separate discussion.


> - add a "+" reduction loop of all the elements in the output array
> (also compiled with strict FP computations such that the output is
> deterministic)

addition can saturate/overflow and lose precision, especially if we
have hundreds of thousands of results or if the type is float, not
double. Whatever the aggregation function we use has to be meaningful.

One way I did in the past was to aggregate in blocks when the results
weren't likely to saturate/overflow/lose precision, ie. the end result
had a similar magnitude as the individual results.

This gave us huge benefits in I/O and comparison times, and can work
with polybench, but someone will have to go through it and make sure
the aggregated numbers are not orders of magnitude greater than the
individual results.

cheers,
--renato



More information about the cfe-dev mailing list