forked from rarias/nixos-riscv
Add RISC-V benchmarks to bench2
This commit is contained in:
parent
a818bd14b6
commit
eb1dc238b1
@ -5,7 +5,6 @@ build:lagarto-ox:
|
|||||||
- nix
|
- nix
|
||||||
script:
|
script:
|
||||||
- nix develop -L .#lagarto-ox --command fpga/run-remotely.sh fpgalogin1:ci
|
- nix develop -L .#lagarto-ox --command fpga/run-remotely.sh fpgalogin1:ci
|
||||||
|
|
||||||
build:lagarto-ox-tarball:
|
build:lagarto-ox-tarball:
|
||||||
stage: build
|
stage: build
|
||||||
when: manual
|
when: manual
|
||||||
@ -24,3 +23,9 @@ build:lagarto-ox-tarball:
|
|||||||
- |
|
- |
|
||||||
echo "Pinned: https://jungle.bsc.es/~gitlab-runner/nixos-riscv/$fn"
|
echo "Pinned: https://jungle.bsc.es/~gitlab-runner/nixos-riscv/$fn"
|
||||||
echo "Latest: https://jungle.bsc.es/~gitlab-runner/nixos-riscv/latest.tar.zst"
|
echo "Latest: https://jungle.bsc.es/~gitlab-runner/nixos-riscv/latest.tar.zst"
|
||||||
|
build:qemu-lagarto-ox:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- nix
|
||||||
|
script:
|
||||||
|
- nix develop -L .#qemu-lagarto-ox --command ./boot.sh
|
||||||
|
13
NOTES.md
13
NOTES.md
@ -26,3 +26,16 @@ To dump a ROM without the ELF header:
|
|||||||
$ nix build .\#nixosConfigurations.lagarto-hun.config.system.build.kernel.configfile
|
$ nix build .\#nixosConfigurations.lagarto-hun.config.system.build.kernel.configfile
|
||||||
$ nix build .\#nixosConfigurations.lagarto-hun.config.system.build.kernel
|
$ nix build .\#nixosConfigurations.lagarto-hun.config.system.build.kernel
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Interactive build of rvb
|
||||||
|
|
||||||
|
```
|
||||||
|
hut% cd .../nixos-riscv
|
||||||
|
hur% nix develop .#nixosConfigurations.qemu-lagarto-ox.pkgs.rvb
|
||||||
|
hut$ mkdir /tmp/foo
|
||||||
|
hut$ cd /tmp/foo
|
||||||
|
hut$ genericBuild
|
||||||
|
...
|
||||||
|
error...
|
||||||
|
hut$ make ...
|
||||||
|
```
|
||||||
|
2
boot.sh
2
boot.sh
@ -35,6 +35,8 @@ cd "$TMPDIR"
|
|||||||
|
|
||||||
#QEMU_KERNEL_PARAMS="boot.debug1devices"
|
#QEMU_KERNEL_PARAMS="boot.debug1devices"
|
||||||
#QEMU_KERNEL_PARAMS="boot.trace boot.debug1"
|
#QEMU_KERNEL_PARAMS="boot.trace boot.debug1"
|
||||||
|
QEMU_KERNEL_PARAMS=bench2
|
||||||
|
#QEMU_KERNEL_PARAMS=debug2
|
||||||
|
|
||||||
# Trap the CPU on compressed instructions?
|
# Trap the CPU on compressed instructions?
|
||||||
#TRAP_COMPRESSED="-cpu rv64,c=false"
|
#TRAP_COMPRESSED="-cpu rv64,c=false"
|
||||||
|
@ -401,7 +401,13 @@
|
|||||||
# };
|
# };
|
||||||
#}));
|
#}));
|
||||||
|
|
||||||
|
blackscholesInput = final.fetchurl {
|
||||||
|
url = "https://gitlab.bsc.es/benchmarks/risc-v-benchmarks/-/wikis/uploads/fd1fa29bc83f24f246da304ecd8ca840/in_1024.input";
|
||||||
|
hash = "sha256-CCS4vMzIn0NxBASyFN57gnZDWWUaqykoTJS106sFLMo=";
|
||||||
|
};
|
||||||
|
|
||||||
bench2 = final.writeShellScript "bench2" ''
|
bench2 = final.writeShellScript "bench2" ''
|
||||||
|
echo --------BENCHMARKING PHASE---------
|
||||||
# Performs minimal FS setup and runs the SPEC benchmark
|
# Performs minimal FS setup and runs the SPEC benchmark
|
||||||
mkdir /tmp /bin /root
|
mkdir /tmp /bin /root
|
||||||
mount -t tmpfs tmpfs /tmp
|
mount -t tmpfs tmpfs /tmp
|
||||||
@ -410,8 +416,38 @@
|
|||||||
ln -s $(which sh) /bin/sh
|
ln -s $(which sh) /bin/sh
|
||||||
# Check CPU usage
|
# Check CPU usage
|
||||||
vmstat 5 5
|
vmstat 5 5
|
||||||
bash -x speclaunch
|
#bash -x speclaunch
|
||||||
cat /tmp/spec/time.csv
|
#cat /tmp/spec/time.csv
|
||||||
|
# hpc_benchmarks
|
||||||
|
set -x
|
||||||
|
axpy-autovect 800 1000
|
||||||
|
axpy-cblas 800 1000
|
||||||
|
axpy-omp-simd 800 1000
|
||||||
|
axpy-scalar 800 1000
|
||||||
|
|
||||||
|
gemm-autovect 256
|
||||||
|
gemm-omp-simd 256
|
||||||
|
gemm-scalar 256
|
||||||
|
|
||||||
|
somier-autovect 4 32
|
||||||
|
somier-omp-simd 4 32
|
||||||
|
somier-scalar 4 32
|
||||||
|
|
||||||
|
lulesh2.0 -s 4
|
||||||
|
|
||||||
|
jacobi2d_scalar_vanilla 16 2
|
||||||
|
|
||||||
|
# desktop_benchmarks
|
||||||
|
|
||||||
|
#blackscholes
|
||||||
|
#streamcluster
|
||||||
|
|
||||||
|
# micro_benchmarks (NO WORKING BENCHMARKS FOR NOW...)
|
||||||
|
|
||||||
|
blackscholes_scalar 1 ${final.blackscholesInput} /dev/null
|
||||||
|
streamcluster_scalar 3 10 16 16 16 10 none output.txt 1
|
||||||
|
|
||||||
|
|
||||||
# Give me a shell at the end
|
# Give me a shell at the end
|
||||||
bash -l
|
bash -l
|
||||||
'';
|
'';
|
||||||
|
@ -4,59 +4,60 @@ HPC_BENCHMARKS_DIRS=\
|
|||||||
axpy \
|
axpy \
|
||||||
jacobi-2d \
|
jacobi-2d \
|
||||||
somier \
|
somier \
|
||||||
# Require submodules:
|
gemm \
|
||||||
# fft \
|
lulesh \
|
||||||
|
# hacckernels \
|
||||||
|
# fftv \
|
||||||
|
# spmv-ellpack \
|
||||||
|
# stream \
|
||||||
|
# Require submodules
|
||||||
# fftp \
|
# fftp \
|
||||||
# Require vehave:
|
|
||||||
# lulesh \
|
|
||||||
# Missing compare_array_double:
|
# Missing compare_array_double:
|
||||||
# gemm \
|
|
||||||
# Broken, not found:
|
# Broken, not found:
|
||||||
# spmv
|
# spmv
|
||||||
|
|
||||||
DESKTOP_BENCHMARKS_DIRS=\
|
DESKTOP_BENCHMARKS_DIRS=\
|
||||||
blackscholes \
|
blackscholes \
|
||||||
canneal \
|
canneal \
|
||||||
particlefilter \
|
|
||||||
streamcluster \
|
streamcluster \
|
||||||
swaptions
|
# pathfinder \
|
||||||
#pathfinder
|
# particlefilter \
|
||||||
|
# swaptions \
|
||||||
|
|
||||||
MICRO_BENCHMARKS_DIRS=
|
MICRO_BENCHMARKS_DIRS=\
|
||||||
#BuffCopyUnit \
|
|
||||||
#BuffCopyStrided \
|
#BuffCopyStrided \
|
||||||
#BuffCopyIndexed \
|
#BuffCopyIndexed \
|
||||||
#FpuMicroKernel \
|
#FpuMicroKernel \
|
||||||
#InstrNopBalance \
|
|
||||||
#MemArithBalance \
|
#MemArithBalance \
|
||||||
#LatencyVrgather
|
#LatencyVrgather \
|
||||||
|
# BuffCopyUnit
|
||||||
|
|
||||||
.PHONY: default all clean $(HPC_BENCHMARKS_DIRS) $(MICRO_BENCHMARKS_DIRS)
|
.PHONY: default all clean $(HPC_BENCHMARKS_DIRS) $(MICRO_BENCHMARKS_DIRS)
|
||||||
|
|
||||||
all: base
|
all: base
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@cd common; make; cd ..
|
cd common; make; cd ..
|
||||||
@$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir);)
|
$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir);)
|
||||||
@$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir);)
|
$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir);)
|
||||||
@$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir);)
|
$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir);)
|
||||||
|
|
||||||
all-types:
|
all-types:
|
||||||
@cd common; make all; cd ..
|
cd common; make all; cd ..
|
||||||
@$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) all ;)
|
$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) all ;)
|
||||||
@$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) all ;)
|
$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) all ;)
|
||||||
@$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) all ;)
|
$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) all ;)
|
||||||
|
|
||||||
base:
|
base:
|
||||||
@cd common; make all; cd ..
|
cd common; make all; cd ..
|
||||||
@$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) base ;)
|
$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) base ;)
|
||||||
@$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) base ;)
|
$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) base ;)
|
||||||
@$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) base ;)
|
$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) base ;)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) install ;)
|
$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) install ;)
|
||||||
@$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) install ;)
|
$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) install ;)
|
||||||
@$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) install ;)
|
$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) install ;)
|
||||||
|
|
||||||
fftp:
|
fftp:
|
||||||
${MAKE} -C third_party fftw
|
${MAKE} -C third_party fftw
|
||||||
@ -71,9 +72,9 @@ spmv-ellpack:
|
|||||||
INDEX64=1 EPI_EXT=07 PATH=${EPI_LLVM_HOME}/bin:${PATH} make
|
INDEX64=1 EPI_EXT=07 PATH=${EPI_LLVM_HOME}/bin:${PATH} make
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@cd common; make clean; cd ..
|
cd common; make clean; cd ..
|
||||||
@$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) clean ;)
|
$(foreach dir,$(HPC_BENCHMARKS_DIRS),${MAKE} -C hpc_benchmarks/$(dir) clean ;)
|
||||||
@$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) clean ;)
|
$(foreach dir,$(DESKTOP_BENCHMARKS_DIRS),${MAKE} -C desktop_benchmarks/$(dir) clean ;)
|
||||||
@$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) clean ;)
|
$(foreach dir,$(MICRO_BENCHMARKS_DIRS),${MAKE} -C micro_benchmarks/$(dir) clean ;)
|
||||||
@rm -rf hpc_benchmarks/spmv-ellpack/spmv/build
|
rm -rf hpc_benchmarks/spmv-ellpack/spmv/build
|
||||||
|
|
||||||
|
@ -2,8 +2,11 @@
|
|||||||
stdenv
|
stdenv
|
||||||
, blis
|
, blis
|
||||||
, gitBranch ? "nix-fixes"
|
, gitBranch ? "nix-fixes"
|
||||||
|
#, gitURL ? "git@gitlab-internal.bsc.es:dbautist/risc-v-benchmarks.git"
|
||||||
|
#, gitCommit ? "bfa96504976dc48f6781c2cafb1e07f8d9eb7476"
|
||||||
, gitURL ? "git@gitlab-internal.bsc.es:rarias/risc-v-benchmarks.git"
|
, gitURL ? "git@gitlab-internal.bsc.es:rarias/risc-v-benchmarks.git"
|
||||||
, gitCommit ? "da202d6f818421b72e06c39b5417ad2f8f6ca23c"
|
, gitCommit ? "da202d6f818421b72e06c39b5417ad2f8f6ca23c"
|
||||||
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -11,6 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
version = "${src.shortRev}";
|
version = "${src.shortRev}";
|
||||||
|
|
||||||
src = builtins.fetchGit {
|
src = builtins.fetchGit {
|
||||||
|
#url = "/home/Computational/dbautist/nixos_riscv_master/nix-fixes-rvb/risc-v-benchmarks"; #change pwd to the local file
|
||||||
url = gitURL;
|
url = gitURL;
|
||||||
ref = gitBranch;
|
ref = gitBranch;
|
||||||
rev = gitCommit;
|
rev = gitCommit;
|
||||||
|
Loading…
Reference in New Issue
Block a user