diff --git a/benchmarks/opencl/aes/Makefile b/benchmarks/opencl/aes/Makefile index 5ad87059..47711c90 100644 --- a/benchmarks/opencl/aes/Makefile +++ b/benchmarks/opencl/aes/Makefile @@ -34,7 +34,7 @@ PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf @@ -49,4 +49,4 @@ run: $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug clean: - rm -rf *.elf *.dump *.hex *.a *.pocl + rm -rf *.elf *.dump *.hex *.a *.pocl *.o \ No newline at end of file diff --git a/benchmarks/opencl/bfs/Makefile b/benchmarks/opencl/bfs/Makefile index 360d3e86..ad748266 100644 --- a/benchmarks/opencl/bfs/Makefile +++ b/benchmarks/opencl/bfs/Makefile @@ -29,23 +29,15 @@ CXXFLAGS += -Wl,--gc-sections # enable garbage collection of unused input sectio LIBS = -lOpenCL -<<<<<<< HEAD -PROJECT=saxpy -======= PROJECT=bfs ->>>>>>> f3700051a4da6cd017e5ce41f2732f3fc3e86e2d all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl -<<<<<<< HEAD - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl -======= POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl ->>>>>>> f3700051a4da6cd017e5ce41f2732f3fc3e86e2d $(PROJECT).elf: main.cc lib$(PROJECT).a - $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf + $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc timer.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf $(PROJECT).hex: $(PROJECT).elf $(HEX) -O ihex $(PROJECT).elf $(PROJECT).hex diff --git a/benchmarks/opencl/fft/Makefile b/benchmarks/opencl/fft/Makefile index 5ad87059..47711c90 100644 --- a/benchmarks/opencl/fft/Makefile +++ b/benchmarks/opencl/fft/Makefile @@ -34,7 +34,7 @@ PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf @@ -49,4 +49,4 @@ run: $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug clean: - rm -rf *.elf *.dump *.hex *.a *.pocl + rm -rf *.elf *.dump *.hex *.a *.pocl *.o \ No newline at end of file diff --git a/benchmarks/opencl/hotspot/Makefile b/benchmarks/opencl/hotspot/Makefile index 5ad87059..7e10d5fe 100644 --- a/benchmarks/opencl/hotspot/Makefile +++ b/benchmarks/opencl/hotspot/Makefile @@ -34,7 +34,7 @@ PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf @@ -49,4 +49,4 @@ run: $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug clean: - rm -rf *.elf *.dump *.hex *.a *.pocl + rm -rf *.elf *.dump *.hex *.a *.pocl *.o diff --git a/benchmarks/opencl/kmeans/Makefile b/benchmarks/opencl/kmeans/Makefile index 5ad87059..ef4d8ecc 100644 --- a/benchmarks/opencl/kmeans/Makefile +++ b/benchmarks/opencl/kmeans/Makefile @@ -29,15 +29,16 @@ CXXFLAGS += -Wl,--gc-sections # enable garbage collection of unused input sectio LIBS = -lOpenCL +PROJECT=kmeans PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a - $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf + $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc rmse.c read_input.c cluster.c kmeans_clustering.c -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf $(PROJECT).hex: $(PROJECT).elf $(HEX) -O ihex $(PROJECT).elf $(PROJECT).hex diff --git a/benchmarks/opencl/sort/Makefile b/benchmarks/opencl/sort/Makefile index 5ad87059..7e10d5fe 100644 --- a/benchmarks/opencl/sort/Makefile +++ b/benchmarks/opencl/sort/Makefile @@ -34,7 +34,7 @@ PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf @@ -49,4 +49,4 @@ run: $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug clean: - rm -rf *.elf *.dump *.hex *.a *.pocl + rm -rf *.elf *.dump *.hex *.a *.pocl *.o diff --git a/benchmarks/opencl/spmv/Makefile b/benchmarks/opencl/spmv/Makefile index 5ad87059..12aad1c4 100644 --- a/benchmarks/opencl/spmv/Makefile +++ b/benchmarks/opencl/spmv/Makefile @@ -34,7 +34,7 @@ PROJECT=saxpy all: $(PROJECT).dump $(PROJECT).hex lib$(PROJECT).a: kernel.cl - POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o kernel.pocl kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl $(PROJECT).elf: main.cc lib$(PROJECT).a $(CXX) $(CXXFLAGS) -I$(POCL_RT_PATH)/include -L$(POCL_RT_PATH)/lib/static -L. $(VX_SRCS) main.cc -Wl,--whole-archive -l$(PROJECT) -Wl,--no-whole-archive $(LIBS) -o $(PROJECT).elf diff --git a/rtl/VX_gpr_stage.v b/rtl/VX_gpr_stage.v index 89316cbb..3d556a83 100644 --- a/rtl/VX_gpr_stage.v +++ b/rtl/VX_gpr_stage.v @@ -116,7 +116,7 @@ module VX_gpr_stage ( wire store_curr_real = !delayed_lsu_last_cycle && stall_lsu; - VX_generic_register #(.N(256)) lsu_data( + VX_generic_register #(.N(`NT*32*2)) lsu_data( .clk (clk), .reset(reset), .stall(!store_curr_real), @@ -133,7 +133,7 @@ module VX_gpr_stage ( assign VX_lsu_req.base_address = (delayed_lsu_last_cycle) ? temp_base_address : real_base_address; - VX_generic_register #(.N(77 + `NW_M1 + 65*(1 + `NT))) lsu_reg( + VX_generic_register #(.N(77 + `NW_M1 + 1 + (`NT))) lsu_reg( .clk (clk), .reset(reset), .stall(stall_lsu), @@ -142,7 +142,7 @@ module VX_gpr_stage ( .out ({VX_lsu_req.valid , VX_lsu_req.lsu_pc ,VX_lsu_req.warp_num , VX_lsu_req.offset , VX_lsu_req.mem_read , VX_lsu_req.mem_write , VX_lsu_req.rd , VX_lsu_req.wb }) ); - VX_generic_register #(.N(224 + `NW_M1 + 1 + 65*(`NT))) exec_unit_reg( + VX_generic_register #(.N(224 + `NW_M1 + 1 + (`NT))) exec_unit_reg( .clk (clk), .reset(reset), .stall(stall_rest), @@ -154,7 +154,7 @@ module VX_gpr_stage ( assign VX_exec_unit_req.a_reg_data = real_base_address; assign VX_exec_unit_req.b_reg_data = real_store_data; - VX_generic_register #(.N(68 + `NW_M1 + 1 + 33*(`NT))) gpu_inst_reg( + VX_generic_register #(.N(36 + `NW_M1 + 1 + (`NT))) gpu_inst_reg( .clk (clk), .reset(reset), .stall(stall_rest),