From e946d976e7c2da9d20e09e9f5cfefa33c2202171 Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Sun, 15 Nov 2020 08:44:57 -0800 Subject: [PATCH] constant integration updates --- benchmarks/opencl/Makefile | 9 ++------ benchmarks/opencl/guassian/Makefile | 3 ++- benchmarks/opencl/nearn/Makefile | 3 ++- benchmarks/opencl/saxpy/Makefile | 3 ++- benchmarks/opencl/sfilter/Makefile | 3 ++- benchmarks/opencl/sfilter/main.cc | 4 ++-- benchmarks/opencl/sgemm/Makefile | 3 ++- benchmarks/opencl/vecadd/Makefile | 3 ++- ci/blackbox.sh | 35 +++++++++++++++++++++++++++++ driver/opae/Makefile | 4 ++-- driver/opae/vlsim/Makefile | 12 +++++----- driver/rtlsim/Makefile | 15 ++++++++----- driver/tests/Makefile | 4 ---- driver/tests/basic/Makefile | 3 ++- driver/tests/demo/Makefile | 3 ++- driver/tests/dogfood/Makefile | 3 ++- hw/simulate/Makefile | 6 ++--- 17 files changed, 77 insertions(+), 39 deletions(-) create mode 100755 ci/blackbox.sh diff --git a/benchmarks/opencl/Makefile b/benchmarks/opencl/Makefile index bb3da020..c5255b79 100644 --- a/benchmarks/opencl/Makefile +++ b/benchmarks/opencl/Makefile @@ -5,20 +5,15 @@ all: $(MAKE) -C sfilter $(MAKE) -C nearn $(MAKE) -C guassian + run: - $(MAKE) -C vecadd run-rtlsim - $(MAKE) -C sgemm run-rtlsim - $(MAKE) -C saxpy run-rtlsim - $(MAKE) -C sfilter run-rtlsim - $(MAKE) -C nearn run-rtlsim - $(MAKE) -C guassian run-rtlsim - $(MAKE) -C vecadd run-vlsim $(MAKE) -C sgemm run-vlsim $(MAKE) -C saxpy run-vlsim $(MAKE) -C sfilter run-vlsim $(MAKE) -C nearn run-vlsim $(MAKE) -C guassian run-vlsim + clean: $(MAKE) -C vecadd clean $(MAKE) -C sgemm clean diff --git a/benchmarks/opencl/guassian/Makefile b/benchmarks/opencl/guassian/Makefile index 90c18113..26b32dc2 100644 --- a/benchmarks/opencl/guassian/Makefile +++ b/benchmarks/opencl/guassian/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/benchmarks/opencl/nearn/Makefile b/benchmarks/opencl/nearn/Makefile index 7a2f2065..80f1bc90 100644 --- a/benchmarks/opencl/nearn/Makefile +++ b/benchmarks/opencl/nearn/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/benchmarks/opencl/saxpy/Makefile b/benchmarks/opencl/saxpy/Makefile index 57ea3088..18be0652 100644 --- a/benchmarks/opencl/saxpy/Makefile +++ b/benchmarks/opencl/saxpy/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/benchmarks/opencl/sfilter/Makefile b/benchmarks/opencl/sfilter/Makefile index 6657d316..6b497101 100644 --- a/benchmarks/opencl/sfilter/Makefile +++ b/benchmarks/opencl/sfilter/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/benchmarks/opencl/sfilter/main.cc b/benchmarks/opencl/sfilter/main.cc index 7ed437ea..f5fe5f54 100644 --- a/benchmarks/opencl/sfilter/main.cc +++ b/benchmarks/opencl/sfilter/main.cc @@ -34,7 +34,7 @@ #include #include -#define NUM_DATA 66 +#define NUM_DATA 16 #define CL_CHECK(_expr) \ do { \ @@ -286,7 +286,7 @@ int main(int argc, char **argv) { CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 2, global_offset, global_work_size, local_work_size, 0, NULL, &kernel_completion)); - printf("Enqueue'd kerenel\n"); + printf("Enqueue'd kernel\n"); fflush(stdout); cl_ulong time_start, time_end; CL_CHECK(clWaitForEvents(1, &kernel_completion)); diff --git a/benchmarks/opencl/sgemm/Makefile b/benchmarks/opencl/sgemm/Makefile index 87e395be..692bb8aa 100644 --- a/benchmarks/opencl/sgemm/Makefile +++ b/benchmarks/opencl/sgemm/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/benchmarks/opencl/vecadd/Makefile b/benchmarks/opencl/vecadd/Makefile index 7868c9a6..a69f21ce 100644 --- a/benchmarks/opencl/vecadd/Makefile +++ b/benchmarks/opencl/vecadd/Makefile @@ -11,7 +11,8 @@ K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+ K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -Wl,--gc-sections -Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld" K_LDFLAGS += "$(VORTEX_RT_PATH)/libvortexrt.a -lm" -CXXFLAGS += -std=c++11 -O0 -g -fpermissive -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I$(POCL_RT_PATH)/include diff --git a/ci/blackbox.sh b/ci/blackbox.sh new file mode 100755 index 00000000..dc5fb10e --- /dev/null +++ b/ci/blackbox.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# test single core +make -C driver/opae/vlsim clean +CONFIGS="-DNUM_CLUSTERS=1 -DNUM_CORES=1" make -C driver/opae/vlsim +make -C driver/tests/dogfood run-vlsim +make -C benchmarks/opencl/sgemm run-vlsim + +# test 2 cores +make -C driver/opae/vlsim clean +CONFIGS="-DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0" make -C driver/opae/vlsim +make -C driver/tests/dogfood run-vlsim +make -C benchmarks/opencl/sgemm run-vlsim + +# test L2 with 4 cores +make -C driver/opae/vlsim clean +CONFIGS="-DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1" make -C driver/opae/vlsim +make -C driver/tests/dogfood run-vlsim +make -C benchmarks/opencl/sgemm run-vlsim + +# test L3 and 2 L2's with 4 cores each +make -C driver/opae/vlsim clean +CONFIGS="-DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -DL3_ENABLE=1" make -C driver/opae/vlsim +make -C driver/tests/dogfood run-vlsim +make -C benchmarks/opencl/sgemm run-vlsim + +# test debug build +make -C driver/opae/vlsim clean +DEBUG=1 CONFIGS="-DNUM_CLUSTERS=1 -DNUM_CORES=1" make -C driver/opae/vlsim +make -C driver/tests/demo run-vlsim + +# test build with scope analyzer +make -C driver/opae clean +SCOPE=1 CONFIGS="-DNUM_CLUSTERS=1 -DNUM_CORES=1" make -C driver/opae +make -C driver/tests/demo run-vlsim \ No newline at end of file diff --git a/driver/opae/Makefile b/driver/opae/Makefile index 17572e34..4750e60c 100644 --- a/driver/opae/Makefile +++ b/driver/opae/Makefile @@ -1,7 +1,7 @@ OPAE_HOME ?= /tools/opae/1.4.0 -#CXXFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -pedantic -Wfatal-errors -CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I../include -I$(OPAE_HOME)/include -I../../hw diff --git a/driver/opae/vlsim/Makefile b/driver/opae/vlsim/Makefile index 49886330..965fc147 100644 --- a/driver/opae/vlsim/Makefile +++ b/driver/opae/vlsim/Makefile @@ -1,5 +1,5 @@ -#CFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -Wfatal-errors -CFLAGS += -std=c++11 -g -O0 -Wall -Wextra -Wfatal-errors +CFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -Wfatal-errors +#CFLAGS += -std=c++11 -g -O0 -Wall -Wextra -Wfatal-errors CFLAGS += -I../../../../hw @@ -20,10 +20,10 @@ DBG_PRINT_FLAGS += -DDBG_PRINT_SCOPE DBG_FLAGS += $(DBG_PRINT_FLAGS) DBG_FLAGS += -DDBG_CACHE_REQ_INFO -#CONFIGS += -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -DL3_ENABLE=1 -#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 -CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 -#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=1 +#CONFIGS ?= -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -DL3_ENABLE=1 +#CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 +CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 +#CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=1 #DEBUG=1 #SCOPE=1 diff --git a/driver/rtlsim/Makefile b/driver/rtlsim/Makefile index 17a96c6e..acbcfd44 100644 --- a/driver/rtlsim/Makefile +++ b/driver/rtlsim/Makefile @@ -1,5 +1,5 @@ -#CFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -Wfatal-errors -CFLAGS += -std=c++11 -g -O0 -Wall -Wextra -Wfatal-errors +CFLAGS += -std=c++11 -O2 -DNDEBUG -Wall -Wextra -Wfatal-errors +#CFLAGS += -std=c++11 -g -O0 -Wall -Wextra -Wfatal-errors CFLAGS += -I../../include -I../../../hw/simulate -I../../../hw @@ -20,10 +20,10 @@ DBG_PRINT_FLAGS += -DDBG_PRINT_SCOPE DBG_FLAGS += $(DBG_PRINT_FLAGS) DBG_FLAGS += -DDBG_CACHE_REQ_INFO -#CONFIGS += -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 -CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 -#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=1 +#CONFIGS ?= -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 +#CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 +CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 +#CONFIGS ?= -DNUM_CLUSTERS=1 -DNUM_CORES=1 #DEBUG=1 @@ -64,6 +64,9 @@ else CFLAGS += -DNDEBUG endif +# use DPI FPU +VL_FLAGS += -DFPU_FAST + PROJECT = libvortex.so # PROJECT = libvortex.dylib diff --git a/driver/tests/Makefile b/driver/tests/Makefile index c75bef43..b5e798cb 100644 --- a/driver/tests/Makefile +++ b/driver/tests/Makefile @@ -4,10 +4,6 @@ all: $(MAKE) -C dogfood run: - $(MAKE) -C basic run-rtlsim - $(MAKE) -C demo run-rtlsim - $(MAKE) -C dogfood run-rtlsim - $(MAKE) -C basic run-vlsim $(MAKE) -C demo run-vlsim $(MAKE) -C dogfood run-vlsim diff --git a/driver/tests/basic/Makefile b/driver/tests/basic/Makefile index d2f13368..30d7053e 100644 --- a/driver/tests/basic/Makefile +++ b/driver/tests/basic/Makefile @@ -15,7 +15,8 @@ VX_LDFLAGS += $(VORTEX_RT_PATH)/libvortexrt.a VX_SRCS = kernel.c -CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I../../include diff --git a/driver/tests/demo/Makefile b/driver/tests/demo/Makefile index d6797b43..400186a4 100644 --- a/driver/tests/demo/Makefile +++ b/driver/tests/demo/Makefile @@ -15,7 +15,8 @@ VX_LDFLAGS += $(VORTEX_RT_PATH)/libvortexrt.a VX_SRCS = kernel.c -CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I../../include diff --git a/driver/tests/dogfood/Makefile b/driver/tests/dogfood/Makefile index 46cb364a..19569b2a 100644 --- a/driver/tests/dogfood/Makefile +++ b/driver/tests/dogfood/Makefile @@ -16,7 +16,8 @@ VX_LDFLAGS += -lm VX_SRCS = kernel.c -CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -pedantic -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -pedantic -Wfatal-errors CXXFLAGS += -I../../include -I../../../hw diff --git a/hw/simulate/Makefile b/hw/simulate/Makefile index f2836aab..841a56a2 100644 --- a/hw/simulate/Makefile +++ b/hw/simulate/Makefile @@ -1,8 +1,8 @@ SINGLECORE += -DNUM_CLUSTERS=1 -DNUM_CORES=1 -#MULTICORE += -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -#MULTICORE += -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 -MULTICORE += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 +#MULTICORE ?= -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 +#MULTICORE ?= -DNUM_CLUSTERS=1 -DNUM_CORES=4 -DL2_ENABLE=1 +MULTICORE ?= -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0 # control RTL debug print states DBG_PRINT_FLAGS += -DDBG_PRINT_CORE_ICACHE