[PATCH] Add benchmarking-only mode to the test suite

Tobias Grosser tobias at grosser.es
Tue May 20 09:08:06 PDT 2014


On 20/05/2014 14:47, Hal Finkel wrote:
> ----- Original Message -----
>> From: "Yi Kong" <kongy.dev at gmail.com>
>> To: "Tobias Grosser" <tobias at grosser.es>
>> Cc: "Hal Finkel" <hfinkel at anl.gov>, "Eric Christopher" <echristo at gmail.com>, "llvm-commits"
>> <llvm-commits at cs.uiuc.edu>
>> Sent: Tuesday, May 20, 2014 7:11:27 AM
>> Subject: Re: [PATCH] Add benchmarking-only mode to the test suite
>>
>> Tobias, I can't reproduce your findings on my machine. Even if I
>> disabled output(removing -DPOLYBENCH_DUMP_ARRAYS) and piped to
>> /dev/null, I still get lots of spikes. I think we need to exclude
>> those tests until we find out how to stabilize those results.
>
> Okay, I'll also exclude them for now.

Yes, for now that seems to be the right choice.

 > How large is the working set? Could you be seeing TLB misses?

I just did the following calculations:

For gemm the working set is 3 * 1024^2 * sizeof(double)

-> 1024 * 1024 * 3 * 8 / 1024 / 1024 = 24 MB working set

We are running the tests on a machine with an Intel(R) Xeon(R) CPU E5430 
@ 2.66GHz:

http://www.cpu-world.com/cgi-bin/CPUID.pl?CPUID=30806

64-byte Prefetching
Data TLB: 4-KB Pages, 4-way set associative, 256 entries
Data TLB: 4-MB Pages, 4-way set associative, 32 entries
Instruction TLB: 2-MB pages, 4-way, 8 entries or 4M pages, 4-way, 4 entries
Instruction TLB: 4-KB Pages, 4-way set associative, 128 entries
L1 Data TLB: 4-KB pages, 4-way set associative, 16 entries
L1 Data TLB: 4-MB pages, 4-way set associative, 16 entries

Assuming 4MB pages, the TLB limit is 128 MB, so this should be fine.

L1 Cache: 4 x 32 KB
L2 Cache: 2 x 6 MB

This means we are obviously breaking those limits. However, this should 
be rather predictable, no?

Cheers,
Tobias



More information about the llvm-commits mailing list