##Build Instructions
All of the benchmark host programs can be built by running the make
command from the top level directory. This will create both a static and dynamically linked version of the host program. The GPU binaries for each benchmark are all provided pre-compiled. The provided Makefile assumes that Multi2Sim source has been downloaded onto the home folder of the user's system in a folder called 'multi2sim'. Furthermore, the user copy of Multi2Sim should have been configured and built according to the instructions provided at https://www.multi2sim.org/development/multi2sim.php. The building of the benchmarks was tested on a system running Ubuntu 14.04, Linux kernel 3.13.0-32-generic, and GCC 4.8.4
In addition, the user can create a tarball of the statically linked host programs and GPU kernel binaries by running make dist
.
Note: BoxFilterGL, Mandelbrot, and NBody will not be built due to the OpenGL requirements of the benchmarks.
##Run Instructions
All of the benchmarks can be run by providing the Multi2Sim binary, the benchmark host program, and the GPU binary via the --load
command:
`<multi2sim_binary> <benchmark_host_program> --load <benchmark_GPU_binary>`
For example, running the BinarySearch benchmark would be done in the following manner:
`multisim/bin/m2s m2s-bench-amdapp-2.5/BinarySearch/BinarySearch --load BinarySearch/BinarySearch_Kernels.bin`
Each of the benchmarks provides several command line options which can be explored via the --help
option such as a verification option which will run the GPU binary as well as a CPU only implementation of the benchmark to compare the GPU results against.
##Support on Multi2Sim
Benchmark | Disassembly | Emulation |
---|---|---|
AESEncryptDecrypt | No | No |
BinarySearch | Yes | Yes |
BinomialOption | Yes | Yes |
BitonicSort | Yes | Yes |
BlackScholes | Yes | Yes |
BoxFilter | No | No |
BoxFilterGL | No | No |
DCT | Yes | Yes |
DeviceFission | Yes | No |
DwtHaar1D | Yes | Yes |
EigenValue | Yes | Yes |
FFT | Yes | Yes |
FastWalshTransform | Yes | Yes |
FloydWarshall | Yes | Yes |
FluidSimulation2D | No | No |
Histogram | Yes | Yes |
HistogramAtomics | No | No |
Mandelbrot | No | No |
MatrixMulImage | Yes | No |
MatrixMultiplication | Yes | Yes |
MatrixTranspose | Yes | Yes |
MemoryOptimizations | No | No |
MersenneTwister | Yes | Yes |
MonteCarloAsian | Yes | No |
MonteCarloAsianDP | Yes | No |
NBody | No | No |
PrefixSum | Yes | Yes |
QuasiRandomSequence | Yes | Yes |
RadixSort | Yes | Yes |
RecursiveGaussian | Yes | Yes |
Reduction | Yes | Yes |
ScanLargeArrays | Yes | Yes |
SimpleConvolution | Yes | Yes |
SimpleImage | No | Yes |
SobelFilter | Yes | Yes |
URNG | Yes | Yes |