Opened 17 months ago

Closed 17 months ago

Last modified 3 months ago

#7462 closed feature request (fixed)

New nofib benchmark for unpacked arrays and floating point arithmetic

Reported by: tibbe Owned by:
Priority: normal Milestone:
Component: NoFib benchmark suite Version: 7.6.1
Keywords: Cc: johan.tibell@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The attached patch adds a new imaginary nofib benchmark that tests unpacked arrays and floating point arithmetic in tight loops. I believe this combination is very important in practice, but somewhat underrepresented in the benchmark suite.

Attachments (1)

0001-Add-new-imaginary-nofib-benchmark-kahan.patch (10.2 KB) - added by tibbe 17 months ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 17 months ago by tibbe

  • Status changed from new to patch

comment:2 Changed 17 months ago by simonmar

  • Difficulty set to Unknown

Looks good. Definitely a good idea to have more benchmarks. Could you push it?

comment:3 Changed 17 months ago by tibbe

  • Resolution set to fixed
  • Status changed from patch to closed
Version 0, edited 17 months ago by tibbe (next)

comment:4 Changed 3 months ago by hvr

Fyi, this benchmark is sensitive to wordsize, and as such currently makes the nofib-testsuite fail where Word is not 64bit wide. Shall we just use fixed-width types such as Word64 in the code instead?

PS: Just replacing Word by Word64 isn't enough, there still seem to remain some smaller floating-point differences in the output.

Last edited 3 months ago by hvr (previous) (diff)

comment:5 follow-up: Changed 3 months ago by tibbe

I don't think so. I think it should reflect the upstream shootout benchmark. Can't we just specify that it's intended result is different on 64-bit and 32-bit? I would have done it if I still had access to a 32-bit machine.

(Testing Word64 on a 32-bit machine doesn't make sense as it's nothing we optimize for and thus it will always be awfully slow.)

comment:6 in reply to: ↑ 5 Changed 3 months ago by hvr

Replying to tibbe:

I don't think so. I think it should reflect the upstream shootout benchmark. Can't we just specify that it's intended result is different on 64-bit and 32-bit?

Should be possible, I've seen something like that e.g. for

./real/scs/scs.stdout
./real/scs/scs.stdout-x86_64
./real/scs/scs.stdout-x86-linux

comment:7 Changed 3 months ago by Herbert Valerio Riedel <hvr@…>

In e6759f06bfd067e18235017fd528e2e8d3b7b5c9/nofib:

Add Linux/x86 reference output for `kahan` benchmark

This makes the nofib testsuite pass again when run on Linux/x86.
See #7462 for more details

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Note: See TracTickets for help on using tickets.