An implementation of the BLAS on the i860: A RISC approach to software for RISC devices

  • Bob Wilkinson
  • Lawrence S. Mulholland
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 634)


The Liverpool Single-transputer library [10] was ported to the i860 as part of the Esprit Genesis project, P2702. There are approximately 250 routines in this library, including the BLAS (which are a well-known set of subroutines providing functions commonly used in numerical computing, see [8],[3], [2],[1]) and a set of vector routines, known as the FLO routines

This strategy is expensive to implement on new processors, especially highly structured ones such as the i860. The software was, therefore, implemented with a similar philosophy to that of the hardware designers in designing the hardware. It was coded in a modular form to utilise a few carefully optimised core routines.

The results were encouraging: the number of assembler routines was significantly reduced and large speed-ups were obtained over Fortran.


BLAS RISC Fortran hierarchical memory linear algebra 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    D.S. Dodson, R.G. Grimes, and Lewis J.G. Sparse extensions to the fortran basic linear algebra subprograms. ETA-TR-63, aug 1987.Google Scholar
  2. 2.
    J.J. Dongarra, J. Du Croz, I. Duff, and S. Hammarling. A set of level 3 basic linear algebra subprograms. ANL-MCS-TM 88 (Revision 1), 1988.Google Scholar
  3. 3.
    J.J. Dongarra, J. Du Croz, S. Hammarling, and J. Hanson, R. Hanson, An extended set of fortran basic linear algebra subprograms. ACM Trans. Math. Softw., 14(1):1–18, mar 1988.Google Scholar
  4. 4.
    J.J. Dongarra, P. Mayes, and G. Radicati di Brozolo. The ibm rise system/6000 and linear algebra operations. Technical report, LApack Report Ref. No. 28, dec 1990.Google Scholar
  5. 5.
    R.W. Hockney and C.R. Jesshope. Parallel Computers. Adam Hilger, second edition, 1988.Google Scholar
  6. 6.
    Intel. i860 Microprocessor Reference Manual. Intel, 1990.Google Scholar
  7. 7.
    M.S. Lam, E.E. Rothberg, and M.E. Wolf. The cache performance and optimisations of blocked algorithms. In Fourth Intern Con, on Architectural Support for Programming Languages and Operating Systems (ASPLOS IV), Palo Alto, California, 1991.Google Scholar
  8. 8.
    C.L. Lawson, R.J. Hanson, D.R. Kincaid, and F.T. Krogh. Basic linear algebra sub-programs for fortran usage. ACM Trans. Math. Softw., 5(3):308–323, sep 1979.Google Scholar
  9. 9.
    N.A. Software Limited. Liverpool Single-Processor Assembler Library Manual. N.A. Software Limited, Merseyside Innovation Centre, 131 Mount Pleasant, Liverpool, L3 5TF, July 1991.Google Scholar
  10. 10.
    D.C.B. Watson, R. Wilkinson, P.G.N. Howard, and C.J. Willis. Machine code implementations of basic vector subroutines for the t800. In L. Freeman and C. Phillips, editors, Applications of Transputers 2, pages 541–546.IOS Press, Amsterdam, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Bob Wilkinson
    • 1
  • Lawrence S. Mulholland
    • 2
  1. 1.C.M.S.R.University Of LiverpoolUK
  2. 2.Department of MathematicsUniversity Of KeeleUK

Personalised recommendations