I wrote a program that multiplies two $N\times N$ matrices represented as 2D arrays by tiling the matrices into subsets with variable tile size. Each matrix element is an 8-Byte integer. I tested the runtime with a number of tile sizes ranging from $1$ to $N$ and found that the runtime is optimal with a tile size of $S$.

I ran this program on a computer that has 3 cache levels and I know the cache size, line size, and associativity of each but suppose I didn't. Is there a way that I could approximate the cache size and cache line size of one or all components of my memory hierarchy using the information I wrote in the first paragraph?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.