Repo contains examples for oneAPI Math Kernel Library Interfaces project
- Build oneMKL project for MKLCPU, MKLGPU, and CUBLAS backends (see build instructions here).
- Make sure you source required compilers (Intel DPC++ for MKLCPU/MKLGPU backends and DPC++ with CUDA backend for CUBLAS backend) and third-party libraries (Intel oneMKL and NVIDIA cuBLAS)
- Set
ONEMKL
path to oneMKL interfaces header files and libraries (GNU Makefile from the repo expects$ONEMKL/include
path with oneMKL header files and$ONEMKL/lib
with libraries) - Use GNU Makefile from the repo to build and run GEMM benchmark as shown below:
# build and run GEMM with MKLCPU backend
> make mklcpu
# build and run GEMM with CUBLAS backend
> make cublas
# build and run GEMM with MKLGPU backend
> make mklgpu
# clean the repo
> make clean