Fixed hipSYCL flag propagation

This commit is contained in:
Tom Lin 2020-08-03 17:22:39 +01:00
parent f0403d2b09
commit 09458ef866

View File

@ -36,51 +36,59 @@ endef
ifneq ($(COMPILER), DPCPP) ifneq ($(COMPILER), DPCPP)
$(info $(arch_help)) $(info $(arch_help))
ARCH= ARCH=
endif endif
endif endif
SYCL_COMPUTECPP_FLAGS = $(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)
SYCL_COMPUTECPP_FLAGS_AMD = $(COMPUTECPP_FLAGS) SYCL_COMPUTECPP_SYCLFLAGS_AMD = $(COMPUTECPP_FLAGS)
SYCL_COMPUTECPP_FLAGS_CPU = $(COMPUTECPP_FLAGS) SYCL_COMPUTECPP_SYCLFLAGS_CPU = $(COMPUTECPP_FLAGS)
SYCL_COMPUTECPP_FLAGS_NVIDIA = $(COMPUTECPP_FLAGS) -sycl-target ptx64 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_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_INCLUDE = -I$(SYCL_SDK_DIR)/include
SYCL_COMPUTECPP_SYCL_CXX = $(SYCL_SDK_DIR)/bin/compute++ SYCL_COMPUTECPP_CXX = g++
SYCL_COMPUTECPP_CXX_CXX = g++
SYCL_HIPSYCL_FLAGS_CPU = -O3 --hipsycl-platform=cpu
SYCL_HIPSYCL_FLAGS_AMD = -O3 --hipsycl-platform=rocm --hipsycl-gpu-arch=$(ARCH) SYCL_HIPSYCL_SYCLFLAGS_CPU = -O3 --std=c++17 --hipsycl-platform=cpu
SYCL_HIPSYCL_FLAGS_NVIDIA = -O3 --hipsycl-platform=cuda --hipsycl-gpu-arch=$(ARCH) 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_LINK_FLAGS = -L$(SYCL_SDK_DIR)/lib -Wl,-rpath,$(SYCL_SDK_DIR)/lib
SYCL_HIPSYCL_INCLUDE = SYCL_HIPSYCL_INCLUDE =
SYCL_HIPSYCL_SYCL_CXX = $(SYCL_SDK_DIR)/bin/syclcc SYCL_HIPSYCL_CXX = $(SYCL_HIPSYCL_SYCLCXX)
SYCL_HIPSYCL_CXX_CXX = $(SYCL_HIPSYCL_SYCL_CXX)
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_LINK_FLAGS =
SYCL_DPCPP_INCLUDE = SYCL_DPCPP_INCLUDE =
SYCL_DPCPP_SYCL_CXX = dpcpp SYCL_DPCPP_CXX = dpcpp
SYCL_DPCPP_CXX_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_LINK_FLAGS = $(SYCL_$(COMPILER)_LINK_FLAGS)
SYCL_INCLUDE = $(SYCL_$(COMPILER)_INCLUDE) SYCL_INCLUDE = $(SYCL_$(COMPILER)_INCLUDE)
SYCL_SYCL_CXX = $(SYCL_$(COMPILER)_SYCL_CXX) SYCL_CXX = $(SYCL_$(COMPILER)_CXX)
SYCL_CXX_CXX = $(SYCL_$(COMPILER)_CXX_CXX)
sycl-stream: main.o SYCLStream.o SYCLStream.sycl 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 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 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 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 .PHONY: clean
clean: clean: