Skip to content

cheshmi/loop-dependence

Repository files navigation

loop-dependence

This repository is a small benchmark to compare how much dependence between iterations degrade thread parallelism. For details, please visit this blog post.

Prequisites

  • CMake and a C++ compiler
  • MKL is needed for dense and sparse kernels.
  • Sympiler (resolved by cmake)
  • Python for data generation and plotting (Numpy, Matplotlib, Pandas)

Build and Run

First you should clone the repository recursively :

git clone --recursive  https://github.com/cheshmi/loop-dependence.git

To build and run, run the provided script:

bash run_niagara.sh

The script works on the Niagara server. You may need to change modules and paths for a different machines. You will also need to download sparse matrices that you want to test.

Plotting

Once the script is finished, you may use the python script to plot the data:

python logs/dense.csv logs/sparse_lbc.csv logs/sparse_mkl.csv

The output will be a PNG file in the current directory.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published