|
|||||||||||||
|
|||||||||||||
Design, implementation and testing of extended and mixed precision BLAS X.S. Li J.W. Demmel D.H. Bailey G. Henry Y. Hida J. Iskandar W. Kahan A. Kapur M.C. Martin T. Tung D.J. Yoo
ABSTRACT: This article describes the design rationale, a C implementation, and conformance testing
of a subset of the new Standard for the BLAS (Basic Linear Algebra Subroutines): Extended and
Mixed Precision BLAS. Permitting higher internal precision and mixed input/output types and
precisions allows us to implement some algorithms that are simpler, more accurate, and sometimes
faster than possible without these features. The new BLAS are challenging to implement and test
because there are many more subroutines than in the existing Standard, and because we must be able
to assess whether a higher precision is used for internal computations than is used for either
input or output variables. We have therefore developed an automated process of generating and
systematically testing these routines. Our methodology is applicable to languages besides C. In
particular, our algorithms used in the testing code will be valuable to all other BLAS
implementors. Our extra precision routines achieve excellent performance--close to half of the
machine peak Megaflop rate even for the Level 2 BLAS, when the data access is stride one.
SUGGESTED CITATION:
| |||||||||||||
|
|||||||||||||