Communication Avoiding Numerical Dense Matrix Computations
C++ C Makefile
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
alg
bench
bin
include
lib
scripts
test
LICENSE
Makefile
README.md
configure

README.md

CANDMC

##Communication Avoiding Numerical Dense Matrix Computations

Purpose:

This repository contains studies for algorithms to perform matrix multiplication and dense matrix factorizations, currently: LU, QR, and the symmetric eigensolve.

Requirements:

Some version of BLAS and LAPACK required for any build. LAPACK version 3.40 or higher required to build QR codes.

Build Instructions:

Running ./configure will generate a config.mk file with build parameters and a Makefile. See the configure file for build options. Profiling may be activated with flag -DPROFILE (add to DEFS in config.mk). After running configure, running 'make' will build the library and place it into lib/libCANDMC.a. Specific contents may be built individually,

  • library of all routines 'CANDMC'
  • library of all shared routines required for use of any individual algorithmic library component 'CANShared'
  • library for matrix multiplication algorithms 'CANMM'
  • library for LU factorization algorithms 'CANLU'
  • library for QR factorization algorithms 'CANQR'
  • library for symmetric eigensolve algorithms 'CANSE'
  • all unit tests 'test', executables appear in bin/tests/
  • all benchmarks 'bench', executables appear in bin/benchmarks/

Accrediation:

Code is available under a two-clause BSD license.

Repository created and maintained by Edgar Solomonik (ETH Zurich). Please contact solomonik@inf.ethz.ch with any questions or inquiries.

Thanks to the following developers, snippets of whose code are used in a few places of this repository.

  • Grey Ballard (Sandia Laboratory)
  • Mathias Jacquelin (Lawrence Berkeley National Laboratory)
  • Devin Matthews (University of Texas at Austin)