lanl / Byfl

Program analysis tool based on software performance counters
Other
56 stars 15 forks source link

Implementation of a cache model. #5

Closed eanger closed 10 years ago

eanger commented 10 years ago

Here's my implementation of the cache model. The key Byfl flags are: -bf-cache-model: Turn on the cache modeling infrastructure. -bf-line-size: Define the number of bytes per cache line. Defaults to 64. -bf-dump-cache: Dump out cache statistics to some files. These files are necessary to get access counts from the bf-parse-cache-dump script. -bf-max-set-bits: Log base 2 of the number of sets to model. All sets up to this number are modeled, so we can choose one after simulation depending on the actual cache we want to get numbers for.

The bf-parse-cache-dump script that is distributed along with the Byfl compiler scripts (bf-gcc, etc.) is used to tabulate the number of accesses to each level of a memory hierarchy. It can handle an arbitrarily deep hierarchy of varying sizes and associativities, as well as a shared L3 cache. See the help for how to use it.