ResearchComputing / curc-bench

benchmarking and testing utilities for CU-Boulder Research Computing resources
2 stars 2 forks source link

capture "tuning" patch for stream.c #65

Closed anderbubble closed 9 years ago

anderbubble commented 9 years ago

Dependencies.txt claims:

stream.c has been tuned. If you download a fresh copy it needs to be re-tuned.

Compare the version of stream.c that is in the repo with the one that comes with upstream 5.9, and store the patch in the repo under curc/.

anderbubble commented 9 years ago

Defined array size as 512000000, and ntimes as 100. Not sure if our array size needs to be that big (5.10 default is 100M, or 10M, which the documentation says "is large enough for caches up to 20 MB."

ntimes shouldn't need to be modified, though. "Values larger than the default are unlikely to noticeably increase the reported performance."

So we should be able to just not modify the code, and compile like this:

gcc -O -DSTREAM_ARRAY_SIZE=512000000 stream.c -o stream.curc
anderbubble commented 9 years ago

icc -O2 -qopenmp -DSTREAM_ARRAY_SIZE=512000000 stream.c -o stream_c.exe /tmp/iccBZePzV.o: In function main': stream.c:(.text+0x170): relocation truncated to fit: R_X86_64_32 against_kmpv_zeromain_0' stream.c:(.text+0x1e4): relocation truncated to fit: R_X86_6432 against `kmpv_zeromain_1' stream.c:(.text+0x263): relocation truncated to fit: R_X86_64_32 against___kmpv_zeromain_2' stream.c:(.text+0x547): relocation truncated to fit: R_X86_64_32 against_kmpv_zeromain_3' stream.c:(.text+0x719): relocation truncated to fit: R_X86_6432 against`kmpv_zeromain_4' stream.c:(.text+0x828): relocation truncated to fit: R_X86_64_32 against ___kmpv_zeromain_5' stream.c:(.text+0x942): relocation truncated to fit: R_X86_64_32 against_kmpv_zeromain_6' stream.c:(.text+0xa5e): relocation truncated to fit: R_X86_6432 against `kmpv_zeromain_7' stream.c:(.text+0xc3e): relocation truncated to fit: R_X86_64_32S againstb' stream.c:(.text+0xc47): relocation truncated to fit: R_X86_64_32S againsta' stream.c:(.text+0xd7f): additional relocation overflows omitted from the output make: *\ [stream_c.exe] Error 1

AaronTHolt commented 7 years ago

The "relocation truncated to fit: R_X86_64_32" errors can be fixed by compiling with "-mcmodel=medium" icc -O2 -mcmodel=medium -qopenmp stream.c -o stream