From 8c87f9d010becb1501d960273ee25137862d4938 Mon Sep 17 00:00:00 2001 From: Tom Lin Date: Sun, 10 Jan 2021 22:43:12 +0000 Subject: [PATCH 1/3] Fixed sycl kernel linking for computecpp --- SYCL.make | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/SYCL.make b/SYCL.make index 4326da5..0554d67 100644 --- a/SYCL.make +++ b/SYCL.make @@ -41,13 +41,13 @@ endif endif -SYCL_COMPUTECPP_SYCLFLAGS = $(shell $(SYCL_SDK_DIR)/bin/computecpp_info --dump-device-compiler-flags) +SYCL_COMPUTECPP_SYCLFLAGS = $(shell $(SYCL_SDK_DIR)/bin/computecpp_info --dump-device-compiler-flags) -no-serial-memop -sycl-driver SYCL_COMPUTECPP_SYCLFLAGS_AMD = $(SYCL_COMPUTECPP_SYCLFLAGS) SYCL_COMPUTECPP_SYCLFLAGS_CPU = $(SYCL_COMPUTECPP_SYCLFLAGS) SYCL_COMPUTECPP_SYCLFLAGS_NVIDIA = $(SYCL_COMPUTECPP_SYCLFLAGS) -sycl-target ptx64 SYCL_COMPUTECPP_SYCLCXX = $(SYCL_SDK_DIR)/bin/compute++ -SYCL_COMPUTECPP_FLAGS = -O3 --std=c++17 -SYCL_COMPUTECPP_LINK_FLAGS = -L$(SYCL_SDK_DIR)/lib -lComputeCpp -lOpenCL -Wl,--rpath=$(SYCL_SDK_DIR)/lib/ +SYCL_COMPUTECPP_FLAGS = -O3 -std=c++17 +SYCL_COMPUTECPP_LINK_FLAGS = -Wl,-rpath=$(SYCL_SDK_DIR)/lib/ $(SYCL_SDK_DIR)/lib/libComputeCpp.so -lOpenCL SYCL_COMPUTECPP_INCLUDE = -I$(SYCL_SDK_DIR)/include SYCL_COMPUTECPP_CXX = g++ SYCL_COMPUTECPP_DEPS = SYCLStream.sycl @@ -81,6 +81,13 @@ SYCL_INCLUDE = $(SYCL_$(COMPILER)_INCLUDE) SYCL_CXX = $(SYCL_$(COMPILER)_CXX) SYCL_DEPS = $(SYCL_$(COMPILER)_DEPS) +ifeq ($(COMPILER), COMPUTECPP) + +sycl-stream: main.cpp SYCLStream.cpp + $(SYCL_SYCLCXX) $(SYCL_SYCLFLAGS) $(SYCL_FLAGS) $(SYCL_INCLUDE) -DSYCL $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) $^ -o $@ + +else + sycl-stream: main.o SYCLStream.o $(SYCL_DEPS) $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL main.o SYCLStream.o $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) -o $@ @@ -93,6 +100,8 @@ SYCLStream.o: SYCLStream.cpp $(SYCL_DEPS) SYCLStream.sycl: SYCLStream.cpp $(SYCL_SYCLCXX) -DSYCL SYCLStream.cpp $(SYCL_SYCLFLAGS) -c $(SYCL_INCLUDE) -o $@ +endif + .PHONY: clean clean: rm -f sycl-stream SYCLStream.sycl main.o SYCLStream.o From 94e394845fbbb54cf8f767ed1a8434dd31a3a3d1 Mon Sep 17 00:00:00 2001 From: Tom Lin Date: Wed, 17 Feb 2021 17:17:20 +0000 Subject: [PATCH 2/3] Clean up SYCL.make with unified build target --- SYCL.make | 52 +++++++++++++--------------------------------------- 1 file changed, 13 insertions(+), 39 deletions(-) diff --git a/SYCL.make b/SYCL.make index 0554d67..58df8d0 100644 --- a/SYCL.make +++ b/SYCL.make @@ -33,75 +33,49 @@ Set ARCH to change device (defaulting to ""). endef -ifneq ($(COMPILER), DPCPP) +ifeq ($(COMPILER), HIPSYCL) +ifneq ($(TARGET), CPU) $(info $(arch_help)) ARCH= - +endif endif endif SYCL_COMPUTECPP_SYCLFLAGS = $(shell $(SYCL_SDK_DIR)/bin/computecpp_info --dump-device-compiler-flags) -no-serial-memop -sycl-driver -SYCL_COMPUTECPP_SYCLFLAGS_AMD = $(SYCL_COMPUTECPP_SYCLFLAGS) SYCL_COMPUTECPP_SYCLFLAGS_CPU = $(SYCL_COMPUTECPP_SYCLFLAGS) +SYCL_COMPUTECPP_SYCLFLAGS_AMD = $(SYCL_COMPUTECPP_SYCLFLAGS) SYCL_COMPUTECPP_SYCLFLAGS_NVIDIA = $(SYCL_COMPUTECPP_SYCLFLAGS) -sycl-target ptx64 SYCL_COMPUTECPP_SYCLCXX = $(SYCL_SDK_DIR)/bin/compute++ SYCL_COMPUTECPP_FLAGS = -O3 -std=c++17 SYCL_COMPUTECPP_LINK_FLAGS = -Wl,-rpath=$(SYCL_SDK_DIR)/lib/ $(SYCL_SDK_DIR)/lib/libComputeCpp.so -lOpenCL SYCL_COMPUTECPP_INCLUDE = -I$(SYCL_SDK_DIR)/include -SYCL_COMPUTECPP_CXX = g++ -SYCL_COMPUTECPP_DEPS = SYCLStream.sycl -SYCL_HIPSYCL_SYCLFLAGS_CPU = -O3 --std=c++17 --hipsycl-platform=cpu -SYCL_HIPSYCL_SYCLFLAGS_AMD = -O3 --std=c++17 --hipsycl-platform=rocm --hipsycl-gpu-arch=$(ARCH) -SYCL_HIPSYCL_SYCLFLAGS_NVIDIA = -O3 --std=c++17 --hipsycl-platform=cuda --hipsycl-gpu-arch=$(ARCH) +SYCL_HIPSYCL_SYCLFLAGS_CPU = --hipsycl-platform=cpu +SYCL_HIPSYCL_SYCLFLAGS_AMD = --hipsycl-platform=rocm --hipsycl-gpu-arch=$(ARCH) +SYCL_HIPSYCL_SYCLFLAGS_NVIDIA = --hipsycl-platform=cuda --hipsycl-gpu-arch=$(ARCH) SYCL_HIPSYCL_SYCLCXX = $(SYCL_SDK_DIR)/bin/syclcc -SYCL_HIPSYCL_FLAGS = $(SYCL_HIPSYCL_SYCLFLAGS_$(TARGET)) +SYCL_HIPSYCL_FLAGS = -O3 --std=c++17 SYCL_HIPSYCL_LINK_FLAGS = -L$(SYCL_SDK_DIR)/lib -Wl,-rpath,$(SYCL_SDK_DIR)/lib SYCL_HIPSYCL_INCLUDE = -SYCL_HIPSYCL_CXX = $(SYCL_HIPSYCL_SYCLCXX) -SYCL_HIPSYCL_DEPS = -SYCL_DPCPP_SYCLFLAGS_CPU = -O3 --std=c++17 -SYCL_DPCPP_SYCLFLAGS_NVIDIA = -O3 --std=c++17 -fsycl -fsycl-targets=nvptx64-nvidia-cuda-sycldevice -fsycl-unnamed-lambda +SYCL_DPCPP_SYCLFLAGS_NVIDIA = -fsycl -fsycl-targets=nvptx64-nvidia-cuda-sycldevice -fsycl-unnamed-lambda SYCL_DPCPP_SYCLCXX = dpcpp -SYCL_DPCPP_FLAGS = $(SYCL_DPCPP_SYCLFLAGS_CPU) +SYCL_DPCPP_FLAGS = -O3 --std=c++17 SYCL_DPCPP_LINK_FLAGS = SYCL_DPCPP_INCLUDE = -SYCL_DPCPP_CXX = dpcpp -SYCL_DPCPP_DEPS = SYCL_SYCLFLAGS = $(SYCL_$(COMPILER)_SYCLFLAGS_$(TARGET)) SYCL_SYCLCXX = $(SYCL_$(COMPILER)_SYCLCXX) - SYCL_FLAGS = $(SYCL_$(COMPILER)_FLAGS) SYCL_LINK_FLAGS = $(SYCL_$(COMPILER)_LINK_FLAGS) SYCL_INCLUDE = $(SYCL_$(COMPILER)_INCLUDE) -SYCL_CXX = $(SYCL_$(COMPILER)_CXX) -SYCL_DEPS = $(SYCL_$(COMPILER)_DEPS) - -ifeq ($(COMPILER), COMPUTECPP) +# only ComputeCpp generates .sycl files which is a bit odd to deal with so we opted to compile everything together sycl-stream: main.cpp SYCLStream.cpp - $(SYCL_SYCLCXX) $(SYCL_SYCLFLAGS) $(SYCL_FLAGS) $(SYCL_INCLUDE) -DSYCL $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) $^ -o $@ - -else - -sycl-stream: main.o SYCLStream.o $(SYCL_DEPS) - $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL main.o SYCLStream.o $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) -o $@ - -main.o: main.cpp - $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL main.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ - -SYCLStream.o: SYCLStream.cpp $(SYCL_DEPS) - $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL SYCLStream.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ - -SYCLStream.sycl: SYCLStream.cpp - $(SYCL_SYCLCXX) -DSYCL SYCLStream.cpp $(SYCL_SYCLFLAGS) -c $(SYCL_INCLUDE) -o $@ - -endif + $(SYCL_SYCLCXX) $(SYCL_SYCLFLAGS) $(SYCL_FLAGS) $(SYCL_INCLUDE) -DSYCL $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) $^ -o $@ .PHONY: clean clean: - rm -f sycl-stream SYCLStream.sycl main.o SYCLStream.o + rm -f sycl-stream From 683b8fcf88ae25918d232de769dd1b7a074da78d Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Thu, 18 Feb 2021 13:51:24 +0000 Subject: [PATCH 3/3] update README --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 6177b02..2d9c8cd 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,14 @@ Results Sample results can be found in the `results` subdirectory. If you would like to submit updated results, please submit a Pull Request. +Contributing +------------ + +As of v4.0, the `main` branch of this repository will hold the latest released version. + +The `develop` branch will contain unreleased features due for the next (major and/or minor) release of BabelStream. +Pull Requests should be made against the `develop` branch. + Citing ------