FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3

Basic Linear Algebra Subprograms

"},"logo alt":{"wt":""},"screenshot":{"wt":"<!-- Image name is enough -->"},"caption":{"wt":""},"screenshot alt":{"wt":""},"collapsible":{"wt":""},"author":{"wt":""},"developer":{"wt":""},"released":{"wt":"{{Start date and age|1979|9||df=yes}}<ref name=lawson79></ref>"},"discontinued":{"wt":""},"latest release version":{"wt":"3.11.0"},"latest release date":{"wt":"{{Start date and age|2022|11|11|df=yes}}"},"latest preview version":{"wt":""},"latest preview date":{"wt":"<!-- {{Start date and age|YYYY|MM|DD|df=yes}} -->"},"status":{"wt":""},"programming language":{"wt":"depends on implementation"},"operating system":{"wt":""},"platform":{"wt":"[[Cross-platform]]"},"size":{"wt":""},"language":{"wt":""},"language count":{"wt":"<!-- Number only -->"},"language footnote":{"wt":""},"genre":{"wt":"[[Library (computing)|Library]]"},"license":{"wt":""},"alexa":{"wt":""},"website":{"wt":"{{URL|https://www.netlib.org/blas/}}"},"standard":{"wt":""},"AsOf":{"wt":""}},"i":0}}]}'>
BLAS
ReleaseSeptember 1979;47 years ago (1979-09)
𝒚←α𝒙+𝒚

(called "axpy", "a x plus y") and several other operations.

Level 2

edit

This level contains matrix-vector operations including, among other things, a generalized matrix-vector multiplication (gemv):

𝑻𝒙=𝒚

with A and α to one and T is a triangular matrix, among other functionality.

Due to the ubiquity of matrix multiplications in many scientific applications, including for the implementation of the rest of Level 3 BLAS, and because faster algorithms exist beyond the obvious repetition of matrix-vector multiplication, gemm is a prime target of optimization for BLAS implementers. E.g., by decomposing one or both of β parameter,C. This decomposition allows for better locality of reference both in space and time of the data used in the product. This, in turn, takes advantage of the cache on the system. For systems with more than one level of cache, the blocking can be applied a second time to the order in which the blocks are used in the computation. Both of these levels of optimization are used in implementations such as ATLAS. More recently, implementations by Kazushige Goto have shown that blocking only for the L2 cache, combined with careful amortizing of copying to contiguous memory to reduce TLB misses, is superior to ATLAS. A highly tuned implementation based on these ideas is part of the GotoBLAS, OpenBLAS and BLIS.

A common variation of 𝑪[k]←α𝑨[k]𝑩[k]+β𝑪[k]∀k

The index A,

  1. 1 2 3