This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Adding three bitcode benchmarks from Halide suite
ClosedPublic

Authored by asbirlea on Aug 18 2016, 2:50 PM.

Details

Summary

Adding three image processing benchmarks generated by Halide.
Based on the current inputs used they are fairly small, but they may be
extended in the future with larger testing inputs.

Diff Detail

Repository
rL LLVM

Event Timeline

asbirlea updated this revision to Diff 68618.Aug 18 2016, 2:50 PM
asbirlea retitled this revision from to [test-suite] Adding three bitcode benchmarks from Halide suite.
asbirlea updated this object.
asbirlea added reviewers: MatzeB, mehdi_amini.
asbirlea added a subscriber: llvm-commits.
mehdi_amini edited edge metadata.Aug 18 2016, 2:51 PM

Can you push this to github? Phab doesn't render binary files.

asbirlea updated this revision to Diff 68623.Aug 18 2016, 3:08 PM
asbirlea edited edge metadata.

Add missing header.

Adding a note: These benchmarks use libpng, which or may not be installed on the bots.
Should the lib be built as part of the test-suite, and added as a dependency here? Other options?

Why is libpng needed for?

For reading in input images (common/halide_image_io.h).

MatzeB edited edge metadata.Aug 18 2016, 5:03 PM

Adding a note: These benchmarks use libpng, which or may not be installed on the bots.
Should the lib be built as part of the test-suite, and added as a dependency here? Other options?

Would it possible to commit a simple random number generator instead and generate the array data with this generator and a known seed? (I assume here that it doesn't make a difference if the data is a realistic image data or just "random")

Fair point, looking into that.

Adding a note: These benchmarks use libpng, which or may not be installed on the bots.
Should the lib be built as part of the test-suite, and added as a dependency here? Other options?

Would it possible to commit a simple random number generator instead and generate the array data with this generator and a known seed? (I assume here that it doesn't make a difference if the data is a realistic image data or just "random")

Right, I was about to suggest we just load the images stored as raw array of bytes instead of png, but random may work as well.

asbirlea updated this revision to Diff 69924.Aug 31 2016, 4:38 PM
asbirlea edited edge metadata.

Update benchmarks to use raw data instead of png.

Gentle ping.
Benchmarks were tested on x86 linux and osx.

Bitcode files aren't generated with a released compiler, can you use 3.9?

Bitcode/Benchmarks/Halide/CMakeLists.txt
2 โ†—(On Diff #69924)

What's using pthread?

asbirlea updated this revision to Diff 71020.Sep 12 2016, 9:20 AM

Update bitcode benchmarks to 3.9 release.

asbirlea added inline comments.Sep 12 2016, 9:21 AM
Bitcode/Benchmarks/Halide/CMakeLists.txt
3 โ†—(On Diff #71020)

The halide runtime.

mehdi_amini accepted this revision.Sep 12 2016, 9:50 AM
mehdi_amini edited edge metadata.

LGTM, thanks Alina.

Could we check-in the Halide source for the benchmarks as well as a reference for how the bitcode was generated?

This revision is now accepted and ready to land.Sep 12 2016, 9:50 AM

Yes. Let me see what's the best way to do that.
I'm inclined to include a small doc on the code generation and point to Halide's github sources, rather than add them here.
I'll make a separate patch for that.

asbirlea updated this revision to Diff 71230.Sep 13 2016, 1:38 PM
asbirlea edited edge metadata.

Update blur bitcode test to Halide trunk algorithm and schedule.

Reason for the additional update: I had played with the blur algorithm and schedule and the one in this patch was not the same as Halide trunk. The documentation I plan to add will point to the Halide trunk, and I don't expect major changes in the future, so making sure the two match.

OK, still LGTM :)

This revision was automatically updated to reflect the committed changes.