>The first thing that we need to do to accelerate our program is to improve the memory utilization of matrix B.
Why not put matrix B in column-major order?
Why not put matrix B in column-major order?
However, while this does improve performance over the naive algorithm, it's still not as good as a tiling algorithm.
That gets the system within a factor of three, which is still embarrassing, but that’s what profiling tools are for. :-)