parsec: move test.sh into the parsec repo

This commit is contained in:
Ciro Santilli
2018-03-21 16:44:19 +00:00
parent 275426ef44
commit a033e6444c
4 changed files with 7 additions and 68 deletions

View File

@@ -2345,7 +2345,7 @@ sgemm_kernel.o: No such file or directory
===== PARSEC benchmark
We have ported parts of the link:http://parsec.cs.princeton.edu[PARSEC benchmark] for cross compilation at: https://github.com/cirosantilli/parsec-benchmark See the documentation on that repo to find out which benchmarks have been ported. Furthermore, some of the benchmarks were are segfaulting, see link:parsec-benchmark/test.sh[]
We have ported parts of the link:http://parsec.cs.princeton.edu[PARSEC benchmark] for cross compilation at: https://github.com/cirosantilli/parsec-benchmark See the documentation on that repo to find out which benchmarks have been ported. Some of the benchmarks were are segfaulting, they are documented in that repo.
There are two ways to run PARSEC with this repo:
@@ -2367,7 +2367,7 @@ cd /parsec/ext/splash2x/apps/fmm/run
To find out how to run many of the benchmarks, you can either:
* have a look at: link:parsec-benchmark/test.sh[]
* have a look at the `test.sh` script of the `parse-benchmark` repo
* do a search on the build stdout on your terminal for a line of type:
+
....

View File

@@ -16,6 +16,8 @@ define PARSEC_BENCHMARK_BUILD_CMDS
# We run the benchmarks with the wrong arch here to generate the inputs on the host.
# This is because on gem5 this takes too long to do.
cd $(@D) && . env.sh && for pkg in $(BR2_PACKAGE_PARSEC_BENCHMARK_BUILD_LIST); do \
export GNU_TARGET_NAME='$(GNU_TARGET_NAME)'; \
export GNU_HOST_NAME='$(GNU_HOST_NAME)'; \
export HOSTCC='$(HOSTCC)'; \
export M4='$(HOST_DIR)/usr/bin/m4'; \
export MAKE='$(MAKE)'; \
@@ -23,7 +25,7 @@ define PARSEC_BENCHMARK_BUILD_CMDS
export TARGET_CROSS='$(TARGET_CROSS)'; \
export HOSTTYPE='$(BR2_ARCH)'; \
parsecmgmt -a build -p $$pkg; \
if [ ! '$(BR2_PACKAGE_PARSEC_BENCHMARK_PARSECMGMT)' = y ]; then \
if [ ! '$(BR2_PACKAGE_PARSEC_BENCHMARK_PARSECMGMT)' = y ]; then \
parsecmgmt -a run -p $$pkg -i $(BR2_PACKAGE_PARSEC_BENCHMARK_INPUT_SIZE); \
fi \
done
@@ -31,7 +33,7 @@ endef
define PARSEC_BENCHMARK_INSTALL_TARGET_CMDS
mkdir -p '$(TARGET_DIR)/parsec/'
$(INSTALL) -D -m 0755 '$(PARSEC_BENCHMARK_PKGDIR)/test.sh' '$(TARGET_DIR)/parsec/'
$(INSTALL) -D -m 0755 '$(D)/test.sh' '$(TARGET_DIR)/parsec/'
if [ '$(BR2_PACKAGE_PARSEC_BENCHMARK_PARSECMGMT)' = y ]; then \
rsync -am $(if $(filter $(V),1),-v,) \
--exclude '**/obj/' \

View File

@@ -1,63 +0,0 @@
#!/bin/sh
# Since Parsec does not stop on errors and we need some raw commands for gem5,
# let's do some of our own unit tests here. Thses should be run on QEMU
# to be reasonably fast.
#
# Must be run with BR2_PACKAGE_PARSEC_BENCHMARK_INPUT_SIZE=test
set -ex
ncpus="${1:-1}"
## apps
# TODO segfaulting.
#cd /parsec/ext/splash2x/apps/barnes/run
#../inst/*/bin/barnes 1 < input_1
cd /parsec/ext/splash2x/apps/fmm/run
../inst/*/bin/fmm "$ncpus" < input_1
cd /parsec/ext/splash2x/apps/ocean_cp/run
../inst/*/bin/ocean_cp -n258 -p"$ncpus" -e1e-07 -r20000 -t28800
# TODO segfaulting.
# cd /parsec/ext/splash2x/apps/ocean_ncp/run
# ../inst/*/bin/ocean_ncp -n258 -p"$ncpus" -e1e-07 -r20000 -t28800
cd /parsec/ext/splash2x/apps/radiosity/run
../inst/*/bin/radiosity -bf 1.5e-1 -batch -room -p "$ncpus"
cd /parsec/ext/splash2x/apps/raytrace/run
../inst/*/bin/raytrace -s -p"$ncpus" -a4 teapot.env
cd /parsec/ext/splash2x/apps/volrend/run
../inst/*/bin/volrend "$ncpus" head-scaleddown4 4
cd /parsec/ext/splash2x/apps/water_nsquared/run
../inst/*/bin/water_nsquared "$ncpus" < input_1
cd /parsec/ext/splash2x/apps/water_spatial/run
../inst/*/bin/water_spatial "$ncpus" < input_1
## kernels
cd /parsec/ext/splash2x/kernels/cholesky/run
../inst/*/bin/cholesky -p"$ncpus" < tk14.O
cd /parsec/ext/splash2x/kernels/cholesky/run
../inst/*/bin/cholesky "$ncpus" test
cd /parsec/ext/splash2x/kernels/fft/run
../inst/*/bin/fft -m18 -p"$ncpus"
cd /parsec/ext/splash2x/kernels/lu_cb/run
../inst/*/bin/lu_cb -p"$ncpus" -n512 -b16
cd /parsec/ext/splash2x/kernels/lu_ncb/run
../inst/*/bin/lu_ncb -p"$ncpus" -n512 -b16
# TODO ERROR: Cannot malloc enough memory for global
# cd /parsec/ext/splash2x/kernels/radix/run
# ../inst/*/bin/radix -p"$ncpus" -r4096 -n262144 -m524288