FLAME
We present a number of application program interfaces (APIs) for coding linear algebra algorithms. On the surface, these APIs for the MATLAB M-script and C programming languages appear to be simple, almost trivial, extensions of those languages. Yet with them, the task of programming and maintaining families of algorithms for a broad spectrum of linear algebra operations is greatly simplified. In combination with our formal linear algebra methods environment (FLAME) approach to deriving such families of algorithms, dozens of algorithms for a single linear algebra operation can be derived, verified to be correct, implemented, and tested, often in a matter of minutes per algorithm. Since the algorithms are expressed in code much like they are explained in a classroom setting, these APIs become not just a tool for implementing libraries, but also a valuable tool for teaching the algorithms that are incorporated in the libraries. In combination with an extension of the parallel linear algebra package (PLAPACK) API, the approach presents a migratory path from algorithm to MATLAB implementation to high-performance sequential implementation to parallel implementation. Finally, the APIs are being used to create a repository of algorithms and implementations for linear algebra operations, the FLAME interface REpository (FIRE), which already features hundreds of algorithms for dozens of commonly encountered linear algebra operations
Keywords for this software
References in zbMATH (referenced in 38 articles , 2 standard articles )
Showing results 1 to 20 of 38.
Sorted by year (- Martinsson, P. G.; Quintana-Ortí, G.; Heavner, N.: randUTV: a blocked randomized algorithm for computing a rank-revealing UTV factorization (2019)
- Journault, Matthieu; Miné, Antoine: Inferring functional properties of matrix manipulating programs by abstract interpretation (2018)
- Martinsson, Per-Gunnar; Quintana Ortí, Gregorio; Heavner, Nathan; van de Geijn, Robert: Householder QR factorization with randomization for column pivoting (HQRRP) (2017)
- Schatz, Martin D.; van de Geijn, Robert A.; Poulson, Jack: Parallel matrix multiplication: a systematic journey (2016)
- Granat, Robert; Kågström, Bo; Kressner, Daniel; Shao, Meiyue: Algorithm 953: Parallel library software for the multishift QR algorithm with aggressive early deflation (2015)
- Nelson, Thomas; Belter, Geoffrey; Siek, Jeremy G.; Jessup, Elizabeth; Norris, Boyana: Reliable generation of high-performance matrix algebra (2015)
- Van Zee, Field G.; van de Geijn, Robert A.: BLIS: a framework for rapidly instantiating BLAS functionality (2015)
- Benner, Peter; Ezzatti, Pablo; Mena, Hermann; Quintana-Ortí, Enrique S.; Remón, Alfredo: Solving matrix equations on multi-core and many-core architectures (2013)
- Bientinesi, Paolo; Gunnels, John A.; Myers, Margaret E.; Quintana-Ortí, Enrique S.; Rhodes, Tyler; van de Geijn, Robert A.; van Zee, Field G.: Deriving dense linear algebra libraries (2013)
- Aliaga, José I.; Bientinesi, Paolo; Davidović, Davor; Di Napoli, Edoardo; Igual, Francisco D.; Quintana-Ortí, Enrique S.: Solving dense generalized eigenproblems on multi-threaded architectures (2012)
- Igual, Francisco D.; Chan, Ernie; Quintana-Ortí, Enrique S.; Quintana-Ortí, Gregorio; Van De Geijn, Robert A.; Van Zee, Field G.: The FLAME approach: from dense linear algebra algorithms to high-performance multi-accelerator implementations (2012) ioport
- Van Zee, Field G.; van de Geijn, Robert A.; Quintana-Ortí, Gregorio; Elizondo, G. Joseph: Families of algorithms for reducing a matrix to condensed form (2012)
- D’Alberto, Paolo; Bodrato, Marco; Nicolau, Alexandru: Exploiting parallelism in matrix-computation kernels for symmetric multiprocessor systems: matrix-multiplication and matrix-addition algorithm optimizations by software pipelining and threads allocation (2011)
- Fabregat-Traver, Diego; Bientinesi, Paolo: Knowledge-based automatic generation of partitioned matrix expressions (2011)
- Milani, Cleber Roberto; Kolberg, Mariana; Fernandes, Luiz Gustavo: Solving dense interval linear systems with verified computing on multicore architectures (2011)
- Brauckhoff, Daniela: Network traffic anomaly detection and evaluation. (2010)
- Chowdhury, Rezaul Alam; Ramachandran, Vijaya: The cache-oblivious Gaussian elimination paradigm: Theoretical framework, parallelization and Experimental evaluation (2010)
- Long, Kevin; Kirby, Robert; Van Bloemen Waanders, Bart: Unified embedded parallel finite element computations via software-based Fréchet differentiation (2010)
- Tsukerman, Igor: Trefftz difference schemes on irregular stencils (2010)
- D’Alberto, Paolo; Nicolau, Alexandru: Adaptive Winograd’s matrix multiplications (2009)