Skip to content

Installation & Usage

Cem Bassoy edited this page Nov 23, 2024 · 4 revisions

Install Dependencies

Install OpenBLAS, Intel MKL and OpenMP on Ubuntu 20.04 or higher

sudo apt update && sudo apt install -y g++ libomp-dev libopenblas-dev libmkl-dev intel-mkl

If you want to run unit tests, you need to have googletest installed

cd ~/ # or any other directory you wish to clone googletest
git clone https://github.com/google/googletest.git
cd googletest
mkdir build && cd build
cmake .. -DBUILD_GMOCK=OFF && make -j && sudo make install

Clone

Clone the TTM project

cd ~/ # or any other directoy you wish to clone the project
git clone https://github.com/bassoy/ttm.git

Examples

Compile and Execute Example Files

cd ~/ # or any other directory you have cloned the project to
cd ttm/example
make clean && make -j BLAS_FLAG=MKL # or BLAS_FLAG=OPENBLAS or BLAS_FLAG=BLIS
./interface1
./interface2
./interface3

Unit Tests

Compile and Execute Unit Test

cd ~/ # or any other directory you have cloned the project to
cd ttm/test
make clean && make -j BLAS_FLAG=MKL # or BLAS_FLAG=OPENBLAS or BLAS_FLAG=BLIS
./bin/main

Use BLAS

Commonly used linking arguments for Intel MLK, OpenBLAS and AMD AOCL are provided in mkl.mk, openblas.mk and blis.mk. Both .mk files are included by the unit test Makefile and examples Makefile. If necessary, you can change your Intel MLK, OpenBLAS or AOCL installation directory path in the respective .mk files.

You can select the desired BLAS by providing either BLAS_FLAG=MKL, BLAS_FLAG=OPENBLAS or BLAS_FLAG=BLIS when calling make, see previous paragraph.

Clone this wiki locally