Superscalar GEMM-based Level 3 BLAS - The On-going Evolution of a Portable and High-Performance Library
Fred Gustavson1, André Henriksson2, Isak Jonsson2, Bo Kågström2, and
Per Ling2 Abstract Recently, a first version of our GEMM-based level 3 BLAS for
superscalar type processors was announced. A new feature is the inclusion of DGEMM itself. This DGEMM routine contains inline what we call a
level 3 kernel routine, which is based on register blocking. Additionally, it features level 1 cache blocking and data copying of submatrix
operands for the level 3 kernel. Our other BLAS's which possess triangular operands, e.g., DTRSM, DSYRK use a similar level 3 kernel routine
to handle the triangular blocks that appear on the diagonal of the larger input triangular operand. Like our previous GEMM-based work all other BLAS's
perform the dominating part of the computations in calls to DGEMM. We are seeing the adoption of our BLAS's by several organizations, including the
ATLAS and PHiPAC projects on automatic generation of fast DGEMM kernels for superscalar processors, and some computer vendors. The evolution of the
superscalar GEMM-based level 3 BLAS is presented. Also, we describe new developments which include techniques that make the library applicable to
symmetric multiprocessing (SMP) systems. - IBM T.J. Watson Research Center,
P.O. Box 218, Yorktown Heights, NY 10598, U.S.A.
E-mail: gustav@watson.ibm.com
- Department of Computing Science and HPC2N, Umeå University, SE-901 87 Umeå, Sweden
E-mail: {andropov,isak,bokg,pol}@cs.umu.se |