kerncraft icon indicating copy to clipboard operation
kerncraft copied to clipboard

Cache Simulator Speedup Improvements: Elements per Iteration assumption?

Open lukastruemper opened this issue 2 years ago • 4 comments

Hello,

I am applying your nice tool to typical stencil applications and I am observing very long simulation runtimes on high-dimensional stencils (several orders of magnitude longer than execution time). Most of the time is spent in the "warmup phase" and I am wondering about this:

https://github.com/RRZE-HPC/kerncraft/blob/b5a302d20669fe6c1d1ee08ebcc68457968d9257/kerncraft/cacheprediction.py#L563

Does it assume that only one element is loaded/stored to the cache per iteration? On higher-dimensional stencils, I easily read 100-1000 elements per iteration.

So could something like this be used instead of element_size: https://github.com/RRZE-HPC/kerncraft/blob/b5a302d20669fe6c1d1ee08ebcc68457968d9257/kerncraft/cacheprediction.py#L548

, but estimated on read elements per iteration? If this leads to inaccuracy, would this still be reasonably accurate?

I would have researched this in the related publications, but I couldn't find those details.

Thanks in advance!

lukastruemper avatar Feb 27 '22 11:02 lukastruemper