Dependencies:
- MPL w/ hybrid scheduling
- CUDA (version ?)
- Futhark (preferably most recent: 0.25.16)
- smlfut
- smlpkg
- For
dmmbenchmark: OpenBLAS - For benchmarking scripts and plotting:
jq, Python 3, matplotlib, numpy, etc.
Required input datasets:
- For
sparse-mxvbenchmark: stokes (SuiteSparse) - For
quickhullbenchmark: [TODO: instructions for points file generated by pbbsbench] - For
bfsbenchmark: [TODO: instructions for rmat graph generated by pbbsbench]
Setup:
- Edit
bench/config.mkfor your paths (MPL, OpenBLAS, etc.) - Edit
scripts/gencmdsfor your paths (input datasets) [TODO: make this nicer] - run
cd dep && smlpkg sync
To run a benchmark:
cd bench/<BENCHMARK>; make; ./main.mpl.bin <ARGS>- You can run
scripts/gencmdsto see preferred configuration - Alternatively, to run a batch:
scripts/gencmds | jq 'select(<QUERY>)' | scripts/runcmds --compile- For example:
scripts/gencmds | jq 'select(.tag == "quickhull" and .procs == 80 and .gpus == 4 and .impl == "hybrid")' | scripts/runcmds --compile
- For example: