Home

Awesome

m2s-bench-amdapp-2.5

##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

BenchmarkDisassemblyEmulation
AESEncryptDecryptNoNo
BinarySearchYesYes
BinomialOptionYesYes
BitonicSortYesYes
BlackScholesYesYes
BoxFilterNoNo
BoxFilterGLNoNo
DCTYesYes
DeviceFissionYesNo
DwtHaar1DYesYes
EigenValueYesYes
FFTYesYes
FastWalshTransformYesYes
FloydWarshallYesYes
FluidSimulation2DNoNo
HistogramYesYes
HistogramAtomicsNoNo
MandelbrotNoNo
MatrixMulImageYesNo
MatrixMultiplicationYesYes
MatrixTransposeYesYes
MemoryOptimizationsNoNo
MersenneTwisterYesYes
MonteCarloAsianYesNo
MonteCarloAsianDPYesNo
NBodyNoNo
PrefixSumYesYes
QuasiRandomSequenceYesYes
RadixSortYesYes
RecursiveGaussianYesYes
ReductionYesYes
ScanLargeArraysYesYes
SimpleConvolutionYesYes
SimpleImageNoYes
SobelFilterYesYes
URNGYesYes