MOMMS is a sandbox for implementing algorithms for matrix-matrix multiplicaiton (MMM) written in Rust. Algorithms are instantiated via type composition.
Get Rust Nightly: [https://www.rustup.rs/]
Install BLIS to your home directory: [https://github.com/flame/blis]
Get and install hwloc: [https://www.open-mpi.org/projects/hwloc/] On Ubuntu: apt-get install libhwloc-dev
Install libclang (for bindgen to automatically generate bindings to BLIS) apt-get install llvm-3.9-dev libclang-3.9-dev clang-3.9
To build MOMMS binaries in release using the blis kernel: cargo build --release --features "blis hsw"
This project and the research associated with it was sponsored in part by an Intel Parallel Computing Center grant as well as a grant from the National Science Foundation (Award ACI-1550493).
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).