attachment:FLAMElogo.png ~+'''[http://www.linearalgebrawiki.org LinearAlgebraWiki] - A modern presentation of linear algebra'''+~ by Martha Ganser and Robert van de Geijn
Purpose
This wiki is an ever-growing repository of information related to linear algebra theory, practice, and experience. It is our hope that this makes the material more accessible to expert and novice alike. We hope it will become the Wikipedia of linear algebra.
Navigating the Wiki
This Wiki can be used in a number of different ways:
Search the Wiki for specific information by clicking on the FindPage tab at the top of this page.
Follow a suggested [:Course:course] through some of the basic material on linear algebra.
- Access electronic documents that are linked to the information stored in the Wiki
[:RobertVanDeGeijn:Robert van de Geijn] and Enrique Quintana-Orti. [:books/TSoPMC:The Science of Programming Matrix Computations]. BR It is recommended you read this material if you want to know how to systematically derive algorithms for dense linear algebra operations
Notation
Our exploration of linear algebra theory and practice includes explanations that deviate from more traditional expositions in the notation that is used. This is previewed by the following algorithm for computing the [:LU_factorization:LU factorization] (without pivoting), which is really [:GaussianElimination:Gaussian elimination] in disguise ([:GEvsLU:more]):
[:Notation:Learn more]
APIs
When appropriate, implementations are given using a number of Application Programming Interfaces (APIs) that allow code to closely mirror the algorithms as presented in the FLAME notation.
FLAME@lab
FLAME@lab is the API for [http://www.octave.org/ Octave's Mscript] (free Matlab!), [http://www.ni.com/labview/mathscript.htm LabView's MathScript], and [http://www.mathworks.com/ Matlab Mscript]. Using this API, the above LU factorization is coded as
[:LU/FLAME@lab/TryUnb5: Try it!] ---- [:FLAME@lab:Learn more]
FLAME/C
A similar API for the C programming language supports the following code for LU factorization:
[:LU/Graphs: Try it!] ---- [:LU_factorization:Learn more]
FLAME/F
You asked for it, you got it! An API for FORTRAN supports the following code for LU factorization:
Performance
We place a lot of emphasis on the fact that there are typically multiple algorithms for computing a given linear algebra operation. One reason is that under different circumstances different algorithms may perform better. Here "perform" may mean that they yield more accurate answers in the presense of round-off errors and/or that they produce the answer in less time.
The following graph illustrates the different rates of computation achieved by different algorithmic variants for LU factorization.
[:LU_factorization:Learn more]
- attachment:LU_without_opt_100.png
Future architectures
While this wiki is primarily meant as a pedagogical tool, the techniques that are discussed, developed as part of the FLAME project, are actually very powerful. Below we report performance of the Cholesky factorization when multiple GPUs are employed.
[:Cholesky_MultiGPU:Learn more]
- attachment:mtgpu_cholesky_comparison.png
Sponsors
This wiki is sponsored in part by
- The National Science Foundation (Awards CCF-0540926 and CCF-0342369);
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).
- An unrestricted grant from Dr. James Truchard; and
- An equipment grant from Hewlett-Packard.
Contact Us
This wiki is powered by MoinMoin.
