Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.
GLAS (Generic Linear Algebra Subprograms)
The GLAS are generic routines that provide standard building blocks for performing vector and matrix operations. The Level 1 GLAS perform scalar, vector and vector-vector operations, the Level 2 GLAS perform matrix-vector operations, and the Level 3 GLAS perform matrix-matrix operations.
GLAS is generalization of BLAS (Basic Linear Algebra Subprograms)
Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of
high quality linear algebra or related software, such as
NumPy, or The Julia language.
Efficient Level 3 BLAS implementation requires
cache-friendly matrix blocking.
In additional, SIMD instructions should be used for all levels on modern architectures.
Implemented RoutinesThe list of already implemented features.
|l1||vector operations 100% done, partially optimized for now|
|l2||matrix-vector operations %3 done, partially optimized for now|
|l3 was moved to mir-glas||matrix-matrix operations 50% done|
Why GLASGLAS is ...
- fast to execute.
- fast to compile.
- fast to extend using ndslices.
- fast to add new instruction set targets.
Optimization notesGLAS requires recent LDC >= 1.1.0-beta2.
Copyright © 2016-2020 by Ilya Yaroshenko | Page generated by Ddoc on Mon Mar 30 12:02:07 2020