NHSE LogoNHSE Software Catalog


BLAS (Basic Linear Algebra Subroutines)

url
http://www.netlib.org/blas/index.html

abstract
BLAS (Basic Linear Algebra Subroutines)
The BLAS are building blocks for constructing efficient and portable
linear algebra software for high-performance computers.
The BLAS allow exploitation of parallelism in a way that is transparent
to the software that calls them.
For example, the LAPACK strategy for combining efficiency with
portability is to construct the software as much as possible
out of calls to the BLAS.
The efficiency of LAPACK software depends on efficient implementations
of the BLAS being provided by computer vendors (or others) for
their machines. Thus the BLAS form a low-level interface between
LAPACK software and different machine architectures. There are
three levels of BLAS:

Level 1 BLAS: for vector operations
Level 2 BLAS: for matrix-vector operations
Level 3 BLAS: for matrix-matrix operations

The Level 3 BLAS are targeted at computers with a hierarchy of memory
(such as global memory, cache or local memory, and vector registers)
and true parallel-processing computers. For these architectures,
it is often preferable to partition the matrix or matrices into
blocks and to perform the computation by matrix-matrix operations
on the blocks. this approach avoids excessive movement of data to
and from memory. In addition, on architectures that provide
for parallel processing, parallelism can be exploited in two
ways: (1) operations on distinct blocks may be performed in
parallel; and (2) within the operations of each block, scalar or
vector operations may be performed in parallel.

keywords
numerical library; linear algebra


nhse-librarian@netlib.org