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
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
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/
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
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
after compilation, you just need to specify the dataset to run it
we keep on looking other benchmarks
so, at this point you can list the available benchmarks
cd parboil
./parboil list
./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
./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