by Marat_Dukhan on 1/6/18, 7:52 AM with 47 comments
by Marat_Dukhan on 1/6/18, 11:03 AM
The source code is available on GitHub [3].
[1] https://maratyszcza.github.io/laff-demos/dgemm.html
[2] https://www.edx.org/course/linear-algebra-foundations-fronti...
by kaoD on 1/6/18, 10:48 AM
The CPU is advertised as 6 MB L2 cache[0] but it has "L1 = 4 x 32 KB 8-way set associative data caches and L2 = 2 x 3 MB 12-way set associative caches (each L2 cache is shared between 2 cores)"[1].
You can clearly see the constant time access to L1 cache up to 32KB. Then grows to (linear?) access time up to 2MB (where it still fits in one of the L2 caches) and then again a different (log-like?) function from there on.
This is really neat.
[0] https://ark.intel.com/products/33922/Intel-Core2-Quad-Proces...
[1] http://www.cpu-world.com/CPUs/Core_2/Intel-Core%202%20Quad%2...
by esnard on 1/6/18, 12:42 PM
by jacquesm on 1/6/18, 11:40 AM
by Sephr on 1/6/18, 11:20 AM
by laCour on 1/7/18, 1:48 AM
LG v30 (L2 2MB): https://i.imgur.com/q5R3bLY.png
by polyfemos on 1/10/18, 11:36 PM
Still works on the latest MacOS (10.13.2) though.
by mherrmann on 1/6/18, 10:07 AM
by Yetanfou on 1/6/18, 12:52 PM
by Mister_Snuggles on 1/6/18, 7:04 PM
Based on the title, it's something to do with cache latency, but that doesn't really help me. What exactly is it measuring? How does it perform this measurement? What are the limitations of this technique? What are the wider implications of this? What uses does it have, both potentially nefarious ones and potentially beneficial ones?
by yeukhon on 1/6/18, 11:16 AM
by chrisper on 1/6/18, 9:41 AM