Today's processors can achieve high-performance, but this requires extensive machine-specific hand tuning.
|
Routines have a large design space w/many parameters
-
blocking sizes, loop nesting permutations, loop unrolling depths, software pipelining strategies, register allocations, and instruction schedules.
-
Complicated interactions with the increasingly sophisticated microarchitectures of new microprocessors.
|
A few months ago no tuned BLAS for Pentium for Linux.
|
Need for quick deployment of optimized routines.
|
ATLAS - Automatic Tuned Linear Algebra Software
|