## Please edit system and help pages ONLY in the moinmaster wiki! For more ## information, please see MoinMaster:MoinPagesEditorGroup. ##master-page:FrontPage #format wiki #language en #pragma latex_preamble FLaTeXCommands ##[[Include(HeaderFile)]] [[Include(Logo)]] [[Include(Highlights)]] [[TableOfContents(2)]] = 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]): {{{#!frame align=float:left,width=10%,background=yellow [:Notation:Learn more] }}} [[Include(LU/Algorithms/UnbVar5)]] {{{#!frame align=clear }}} = 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 {{{#!frame align=float:left,width=10%,background=yellow [:LU/FLAME@lab/TryUnb5: Try it!] ---- [:FLAME@lab:Learn more] }}} ~-[[Include(LU/FLAME@lab/UnbVar5)]]-~ == FLAME/C == A similar API for the C programming language supports the following code for LU factorization: {{{#!frame align=float:left,width=10%,background=yellow [:LU/Graphs: Try it!] ---- [:LU_factorization:Learn more] }}} ~-[[Include(LU/FLAMEC/UnbVar5)]]-~ {{{#!frame align=clear }}} == FLAME/F == You asked for it, you got it! An API for FORTRAN supports the following code for LU factorization: ~-[[Include(LU/FLAMEF/UnbVar5)]]-~ {{{#!frame align=clear }}} = 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. {{{#!frame align=float:left,width=10%,background=yellow [:LU_factorization:Learn more] }}} attachment:LU_without_opt_100.png {{{#!frame align=clear }}} = 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. {{{#!frame align=float:left,width=10%,background=yellow [:Cholesky_MultiGPU:Learn more] }}} attachment:mtgpu_cholesky_comparison.png {{{#!frame align=clear }}} = 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 = flame@cs.utexas.edu ---- This wiki is powered by MoinMoin.