From 09458ef8665da8d90adba3c2aeeabbc66ca588d5 Mon Sep 17 00:00:00 2001 From: Tom Lin Date: Mon, 3 Aug 2020 17:22:39 +0100 Subject: [PATCH] Fixed hipSYCL flag propagation --- SYCL.make | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/SYCL.make b/SYCL.make index 4afc6a7..d52c603 100644 --- a/SYCL.make +++ b/SYCL.make @@ -36,51 +36,59 @@ endef ifneq ($(COMPILER), DPCPP) $(info $(arch_help)) ARCH= + endif endif -SYCL_COMPUTECPP_FLAGS = $(shell $(SYCL_SDK_DIR)/bin/computecpp_info --dump-device-compiler-flags) -SYCL_COMPUTECPP_FLAGS_AMD = $(COMPUTECPP_FLAGS) -SYCL_COMPUTECPP_FLAGS_CPU = $(COMPUTECPP_FLAGS) -SYCL_COMPUTECPP_FLAGS_NVIDIA = $(COMPUTECPP_FLAGS) -sycl-target ptx64 +SYCL_COMPUTECPP_SYCLFLAGS = $(shell $(SYCL_SDK_DIR)/bin/computecpp_info --dump-device-compiler-flags) +SYCL_COMPUTECPP_SYCLFLAGS_AMD = $(COMPUTECPP_FLAGS) +SYCL_COMPUTECPP_SYCLFLAGS_CPU = $(COMPUTECPP_FLAGS) +SYCL_COMPUTECPP_SYCLFLAGS_NVIDIA = $(COMPUTECPP_FLAGS) -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_INCLUDE = -I$(SYCL_SDK_DIR)/include -SYCL_COMPUTECPP_SYCL_CXX = $(SYCL_SDK_DIR)/bin/compute++ -SYCL_COMPUTECPP_CXX_CXX = g++ +SYCL_COMPUTECPP_CXX = g++ -SYCL_HIPSYCL_FLAGS_CPU = -O3 --hipsycl-platform=cpu -SYCL_HIPSYCL_FLAGS_AMD = -O3 --hipsycl-platform=rocm --hipsycl-gpu-arch=$(ARCH) -SYCL_HIPSYCL_FLAGS_NVIDIA = -O3 --hipsycl-platform=cuda --hipsycl-gpu-arch=$(ARCH) + +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_SYCLCXX = $(SYCL_SDK_DIR)/bin/syclcc +SYCL_HIPSYCL_FLAGS = $(SYCL_HIPSYCL_SYCLFLAGS_$(TARGET)) SYCL_HIPSYCL_LINK_FLAGS = -L$(SYCL_SDK_DIR)/lib -Wl,-rpath,$(SYCL_SDK_DIR)/lib SYCL_HIPSYCL_INCLUDE = -SYCL_HIPSYCL_SYCL_CXX = $(SYCL_SDK_DIR)/bin/syclcc -SYCL_HIPSYCL_CXX_CXX = $(SYCL_HIPSYCL_SYCL_CXX) +SYCL_HIPSYCL_CXX = $(SYCL_HIPSYCL_SYCLCXX) -SYCL_DPCPP_FLAGS_CPU = -O3 + +SYCL_DPCPP_SYCLFLAGS_CPU = -O3 --std=c++17 +SYCL_DPCPP_SYCLCXX = dpcpp +SYCL_DPCPP_FLAGS = $(SYCL_DPCPP_SYCLFLAGS_CPU) SYCL_DPCPP_LINK_FLAGS = SYCL_DPCPP_INCLUDE = -SYCL_DPCPP_SYCL_CXX = dpcpp -SYCL_DPCPP_CXX_CXX = dpcpp +SYCL_DPCPP_CXX = dpcpp -SYCL_FLAGS = $(SYCL_$(COMPILER)_FLAGS_$(TARGET)) +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_SYCL_CXX = $(SYCL_$(COMPILER)_SYCL_CXX) -SYCL_CXX_CXX = $(SYCL_$(COMPILER)_CXX_CXX) +SYCL_CXX = $(SYCL_$(COMPILER)_CXX) sycl-stream: main.o SYCLStream.o SYCLStream.sycl - $(SYCL_CXX_CXX) -O3 -std=c++17 -DSYCL main.o SYCLStream.o $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) -o $@ + $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL main.o SYCLStream.o $(EXTRA_FLAGS) $(SYCL_LINK_FLAGS) -o $@ main.o: main.cpp - $(SYCL_CXX_CXX) -O3 -std=c++17 -DSYCL main.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ + $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL main.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ SYCLStream.o: SYCLStream.cpp SYCLStream.sycl - $(SYCL_CXX_CXX) -O3 -std=c++17 -DSYCL SYCLStream.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ + $(SYCL_CXX) $(SYCL_FLAGS) -DSYCL SYCLStream.cpp -c $(SYCL_INCLUDE) $(EXTRA_FLAGS) -o $@ SYCLStream.sycl: SYCLStream.cpp - $(SYCL_SYCL_CXX) -DSYCL SYCLStream.cpp $(SYCL_FLAGS) -c $(SYCL_INCLUDE) -o $@ + $(SYCL_SYCLCXX) -DSYCL SYCLStream.cpp $(SYCL_SYCLFLAGS) -c $(SYCL_INCLUDE) -o $@ .PHONY: clean clean: