next up previous contents
Next: Importance of cleanup Up: Providing ATLAS with kernel Previous: Indicating cleanup in the   Contents

Testing and timing cleanup

Cleanup is tested in the same way as the normal kernel, but you need to supply additional parameters. M, N, and K are the problem dimensions, and MB, NB, KB are the blocking factors. If the blocking factors are set to zero, that means they are run-time parameters to the routine. lda, ldb, ldc are the leading dimensions of the operand arrays, and they default to KB, KB, and zero, respectively.

Here is an example of testing an M-cleanup routine, insisting that M is a run-time argument:

make mmutstcase mmrout=../CASES/ATL_mm1x1x1.c pre=d M=17 N=40 K=40 \
     mb=0 nb=40 kb=40

Here is timing the same routine, but insisting that the M-loop is fixed at compile time:

make ummcase mmrout=../CASES/ATL_mm1x1x1.c pre=d M=17 N=40 K=40 \
     mb=17 nb=40 kb=40

Here's testing a K-cleanup routine, taking run-time K and leading dimensions:

make mmutstcase mmrout=../CASES/ATL_mm1x1x1.c pre=d M=40 N=40 K=27 \
     mb=40 nb=40 kb=0 lda=0 ldb=0

The same test taking compile-time K and leading dimensions:

make mmutstcase mmrout=../CASES/ATL_mm1x1x1.c pre=d M=40 N=40 K=27 \
     mb=40 nb=40 kb=27 lda=27 ldb=27



R. Clint Whaley 2001-08-04