This is an archive of the discontinued LLVM Phabricator instance.

[test-suite]: Adding RSBench proxy-app.
ClosedPublic

Authored by pavanravikanth.kprk on Aug 11 2017, 10:54 AM.

Details

Summary

Description:

RSBench: A mini-app to represent the multipole resonance representation lookup cross section algorithm.

GitHub: RSBench@git

Test results on my machine (IBM x3550 M4):

compile_time: 6.5658 
exec_time: 0.5211 
link_time: 0.0171 
Maximum resident set size (kbytes): 1392

Diff Detail

Repository
rL LLVM

Event Timeline

pavanravikanth.kprk edited the summary of this revision. (Show Details)Aug 11 2017, 12:22 PM
pavanravikanth.kprk edited the summary of this revision. (Show Details)Aug 11 2017, 12:53 PM
hfinkel edited edge metadata.Aug 15 2017, 10:30 AM

This test does not have a numerical verification output, but nevertheless, I'd prefer that we not depend explicitly on libc's rand. Different libc implementations have different implementations of rand, and I'd rather not have that be a cause of any latter difficultly tracking down performance differences between systems/configurations.

The easiest way to deal with this is probably to substitute our own rand implementation. I wrote one of these for the original XSBench patch (see glibc_compat_rand.{c.h} in https://reviews.llvm.org/D27311). Can you grab those files from there and add them to this patch and then, in rsbench.h, add something like:

#ifndef NO_GLIBC_COMPAT_RAND
#define rand glibc_compat_rand
#define srand glibc_compat_srand
#endif

Added custom rand and srand function instead of using default libc functions.

This test does not have a numerical verification output, but nevertheless, I'd prefer that we not depend explicitly on libc's rand. Different libc implementations have different implementations of rand, and I'd rather not have that be a cause of any latter difficultly tracking down performance differences between systems/configurations.

The easiest way to deal with this is probably to substitute our own rand implementation. I wrote one of these for the original XSBench patch (see glibc_compat_rand.{c.h} in https://reviews.llvm.org/D27311). Can you grab those files from there

But please see my comment in D36621.

and add them to this patch and then, in rsbench.h, add something like:

#ifndef NO_GLIBC_COMPAT_RAND
#define rand glibc_compat_rand
#define srand glibc_compat_srand
#endif

Adding RSBench with Makefile support.

added RSBench to Parallel Dirs.

MatzeB accepted this revision.Aug 31 2017, 7:11 PM

Integration LGTM.

This revision is now accepted and ready to land.Aug 31 2017, 7:11 PM
This revision was automatically updated to reflect the committed changes.