Dependencies:
- MPL w/ hybrid scheduling
- CUDA (version ?)
- Futhark (preferably most recent: 0.25.16)
- smlfut
- smlpkg
- For
dmm
benchmark: OpenBLAS - For benchmarking scripts and plotting:
jq
, Python 3, matplotlib, numpy, etc.
Required input datasets:
- For
sparse-mxv
benchmark: stokes (SuiteSparse) - For
quickhull
benchmark: [TODO: instructions for points file generated by pbbsbench] - For
bfs
benchmark: [TODO: instructions for rmat graph generated by pbbsbench]
Setup:
- Edit
bench/config.mk
for your paths (MPL, OpenBLAS, etc.) - Edit
scripts/gencmds
for 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/gencmds
to 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: