dimecres, 25 de febrer del 2015

Benchmarking (ParBoil)

These days, we are trying to find some benchmarks so we can compare the performance that we can get with a many-soft-core, compared to other alternative systems (CPUs, GPUs, etc).

The requirements of this benchmark is that
  • should be written in C/C++
  • would be good to have implementations for alternative target platforms (Cuda, OpenCL, etc.)
  • should allow different size of data, so that we can use the problems sizes that fit into limited memory of the FPGA

Parboil looks like a good candidate

http://impact.crhc.illinois.edu/Parboil/parboil_download_page.aspx

you can also download it from phoronix-test-suite

wget http://www.phoronix-test-suite.com/benchmark-files/pb2.5driver.tgz
wget http://www.phoronix-test-suite.com/benchmark-files/pb2.5benchmarks.tgz
wget http://www.phoronix-test-suite.com/benchmark-files/pb2.5datasets_standard.tgz

you have to decompress the files and organize them into your filesystem

tar -xvf pb2.5driver.tgz
tar -xvf pb2.5benchmarks.tgz
tar -xvf pb2.5datasets_standard.tgz
mv benchmarks/ parboil/
mv datasets/ parboil/

you could have tried to avoid downloading the datasets (because it is a big file) but then the python script fails with an unconsistent error message ("benchmark directory not found")

so, at this point you can list the available benchmarks

cd parboil
./parboil list

to compile the files you first need a Makefile.conf in common directory, we create an empty one to start. And then we compile the base (simple sequencial C) version of an example e.g. bfs

touch common/Makefile.conf
./parboil compile bfs base

after compilation, you just need to specify the dataset to run it

./parboil run bfs base NY

we keep on looking other benchmarks

Cap comentari:

Publica un comentari a l'entrada