All of ATLAS's user-suppliable kernels are used to speed up a wide range
of codes (i.e., GEMM speeds up all level 3 BLAS, etc), which means it is
possible to write a good GEMM, for instance, that is still not a good
GEMM kernel. The unmodified testers and timers described in this
note time these kernels in their most-used states, so if you develop a
kernel using these techniques, everything will likely be OK. However,
if you first write a full-blown GEMV, for instance, and then attempt
to adapt it, there is more opportunity for mismatch. At the end of
each kernel section I give a few kernel notes to give you an idea of
how ATLAS uses the kernel.
Clint Whaley
2012-07-10