3 ms·
I wrote a matrix multiplication routine on a Haswell a few years ago, for no particular reason. I chose an 8x8 minimum block size since it seemed like the most
by d_tr 5y ago
I wrote a matrix multiplication routine on a Haswell a few years ago, for no particular reason. I chose an 8x8 minimum block size since it seemed like the most convenient one, and I had one or two more block sizes for cache utilization IIRC. It was a few tens of lines of code and the performance in GFLOPS was 80% of peak which was actually a pleasant surprise. I think it was because of fmaddps latency. My code would like four but on Haswell it is five cycles. So the other types of instructions (prefetch, broadcast, loops) basically did not have any impact on speed.