1
Background, Motivation, and a Retrospective View of the BLAS
Charles L. Lawson
Retired from Jet Propulsion Laboratory
California Institute of Technology
Home: 301 Calle Pueblo
San Clemente, CA 92672
clawson@na-net.ornl.gov
1 Introduction
During the initial development of computers in the 1940’s and early 1950’s the chain of intermediate
technologists between the computer designer/builder and the computer user was very short. In fact
it was not uncommon for one individual to be actively involved in the design, construction, and
application of a computer. By 1970 there was a significant amount of infrastructure between the
computing machine and the end user - for example, from low-level to high-level one could cite
operating systems, compilers, general-purpose software, and applications-specific software. Each
level of this infrastructure absorbed the creativity and energies of its own community of specialists
trying to improve its link in the chain. This frequently took the form of trying to better meet the
perceived needs of the higher levels in the infrastructure while coping with the limitations and
peculiarities of the resources provided by the lower levels.
The original BLAS [16] constituted a contribution to the general-purpose mathematical
software stratum of the computing infrastructure. To better understand the influences that led to
their development, let us very briefly recount some of the activity regarding general-purpose
mathematical software in the early 70’s.
2 Background and Motivation for the BLAS
Through the late 1960’s and up to about 1971 a number of collections or libraries of mathematical
software had been assembled. Typically each of these libraries was developed for, and useable on,
just one brand of computer system. Examples would be a library collected and/or developed by a
computer vendor for use with their computer, or a library collected and/or developed by a large
organization’s computing center for use within that organization. For instance, Michael Powell
recalls developing a math library at the Harwell Laboratory in the early 1960’s.
Even the two organizations, NAG [5] and IMSL [12], that later became the world’s main
suppliers of math libraries across diverse machine types, each started in 1970 by targeting a single
machine type. NAG started as an informal cooperative effort by six institutions in England to
develop a math library for their newly acquired ICL 1906A systems. Their first library, in both Algol
and Fortran versions, was available to the participating institutions in October, 1971, and they
immediately started attacking the problem of developing the library for other computer types.
IMSL was founded in 1970 as a company to develop and market mathematical and statistical
libraries. A major motivation for the founding of IMSL was a perception of customer dissatisfaction
with the math libraries provided by IBM for use on their systems. IMSL’s first product, available in
1971, was a Fortran library for the IBM/370-360.
Designing math library software to be portable across diverse systems was particularly
difficult in the 70’s because there were significant differences between the arithmetic characteristics
of computers from different manufacturers, the state of standardization of programming languages
was in its infancy, and operating systems (encompassing file naming and file storage) were quite
different on different computer brands. Fortran was the only language widely supported in the U.S.,
and the only language for which there was an ANSI standard (1966). However the standardized