X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=benchmarks%2FMakefile;h=e294f720df287fc392a60a66cf01f0288bb19493;hb=795c81a287bde70c6d8029a812f0a76e83823d68;hp=9eb05cd4e288f12685d9c9fb2ba7b80c216c528f;hpb=9524bec17a6a2813be11292b9f5fbb0fb0b915c3;p=riscv-tests.git diff --git a/benchmarks/Makefile b/benchmarks/Makefile index 9eb05cd..e294f72 100644 --- a/benchmarks/Makefile +++ b/benchmarks/Makefile @@ -6,7 +6,7 @@ default: all -bmarkdir = . +src_dir = . instname = riscv-bmarks instbasedir = $(UCB_VLSI_HOME)/install @@ -18,17 +18,15 @@ instbasedir = $(UCB_VLSI_HOME)/install bmarks = \ median \ qsort \ + rsort \ towers \ vvadd \ multiply \ - dgemm \ + mm \ dhrystone \ spmv \ mt-vvadd \ mt-matmul \ - #vec-vvadd \ - #vec-cmplxmult \ - #vec-matmul \ bmarks_host = \ median \ @@ -36,7 +34,6 @@ bmarks_host = \ towers \ vvadd \ multiply \ - dgemm \ spmv \ vec-vvadd \ vec-cmplxmult \ @@ -49,37 +46,33 @@ bmarks_host = \ HOST_OPTS = -std=gnu99 -DPREALLOCATE=0 -DHOST_DEBUG=1 HOST_COMP = gcc $(HOST_OPTS) -RISCV_GCC = riscv-gcc -RISCV_GCC_OPTS = -Wa,-march=RVIMAFDXhwacha -std=gnu99 -O2 -nostdlib -nostartfiles -ffast-math -RISCV_LINK = riscv-gcc -T $(bmarkdir)/common/test.ld -RISCV_LINK_MT = riscv-gcc -T $(bmarkdir)/common/test-mt.ld -RISCV_LINK_OPTS = -lc -RISCV_LINK_SYSCALL = $(bmarkdir)/common/syscalls.c -lc -RISCV_OBJDUMP = riscv-objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data -RISCV_SIM = spike +RISCV_PREFIX ?= riscv64-unknown-elf- +RISCV_GCC ?= $(RISCV_PREFIX)gcc +RISCV_GCC_OPTS ?= -mcmodel=medany -static -std=gnu99 -O2 -ffast-math -fno-common -fno-builtin-printf +RISCV_LINK ?= $(RISCV_GCC) -T $(src_dir)/common/test.ld $(incs) +RISCV_LINK_MT ?= $(RISCV_GCC) -T $(src_dir)/common/test-mt.ld +RISCV_LINK_OPTS ?= -nostdlib -nostartfiles -ffast-math -lgcc +RISCV_OBJDUMP ?= $(RISCV_PREFIX)objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data +RISCV_SIM ?= spike -VPATH += $(addprefix $(bmarkdir)/, $(bmarks)) -VPATH += $(bmarkdir)/common +VPATH += $(addprefix $(src_dir)/, $(bmarks)) +VPATH += $(src_dir)/common -incs += -I$(bmarkdir)/common $(addprefix -I$(bmarkdir)/, $(bmarks)) +incs += -I$(src_dir)/../env -I$(src_dir)/common $(addprefix -I$(src_dir)/, $(bmarks)) objs := -include $(patsubst %, $(bmarkdir)/%/bmark.mk, $(bmarks)) +include $(patsubst %, $(src_dir)/%/bmark.mk, $(bmarks)) #------------------------------------------------------------ # Build and run benchmarks on riscv simulator bmarks_riscv_bin = $(addsuffix .riscv, $(bmarks)) bmarks_riscv_dump = $(addsuffix .riscv.dump, $(bmarks)) -bmarks_riscv_hex = $(addsuffix .riscv.hex, $(bmarks)) bmarks_riscv_out = $(addsuffix .riscv.out, $(bmarks)) bmarks_defs = -DPREALLOCATE=1 -DHOST_DEBUG=0 bmarks_cycles = 80000 -%.hex: % - elf2hex 16 32768 $< > $@ - $(bmarks_riscv_dump): %.riscv.dump: %.riscv $(RISCV_OBJDUMP) $< > $@ @@ -91,10 +84,10 @@ $(bmarks_riscv_out): %.riscv.out: %.riscv -c $(incs) $< -o $@ %.o: %.S - $(RISCV_GCC) $(RISCV_GCC_OPTS) $(bmarks_defs) \ + $(RISCV_GCC) $(RISCV_GCC_OPTS) $(bmarks_defs) -D__ASSEMBLY__=1 \ -c $(incs) $< -o $@ -riscv: $(bmarks_riscv_dump) $(bmarks_riscv_hex) +riscv: $(bmarks_riscv_dump) run-riscv: $(bmarks_riscv_out) echo; perl -ne 'print " [$$1] $$ARGV \t$$2\n" if /\*{3}(.{8})\*{3}(.*)/' \ $(bmarks_riscv_out); echo;