Add options for specific targets in OpenACC.make
This commit is contained in:
parent
e1ea01f0c2
commit
282251f026
30
OpenACC.make
30
OpenACC.make
@ -6,25 +6,41 @@ endif
|
|||||||
COMPILER_ = $(CXX)
|
COMPILER_ = $(CXX)
|
||||||
COMPILER_PGI = pgc++
|
COMPILER_PGI = pgc++
|
||||||
COMPILER_CRAY = CC
|
COMPILER_CRAY = CC
|
||||||
CXX = $(COMPILER_$(COMPILER))
|
|
||||||
|
|
||||||
FLAGS_ = -O3
|
FLAGS_ = -O3
|
||||||
|
|
||||||
FLAGS_PGI = -std=c++11 -O3 -acc
|
FLAGS_PGI = -std=c++11 -O3 -acc
|
||||||
ifeq ($(COMPILER), PGI)
|
ifeq ($(COMPILER), PGI)
|
||||||
|
define target_help
|
||||||
|
Set a TARGET to ensure PGI targets the correct offload device.
|
||||||
|
Available targets are:
|
||||||
|
SNB, IVB, HSW, BDW, KNL
|
||||||
|
KEPLER, MAXWELL, PASCAL
|
||||||
|
HAWAII
|
||||||
|
endef
|
||||||
ifndef TARGET
|
ifndef TARGET
|
||||||
$(info Set a TARGET to ensure PGI targets the correct offload device. i.e. TARGET=GPU or CPU)
|
$(error $(target_help))
|
||||||
endif
|
endif
|
||||||
|
TARGET_FLAGS_SNB = -ta=multicore -tp=sandybridge
|
||||||
|
TARGET_FLAGS_IVB = -ta=multicore -tp=ivybridge
|
||||||
|
TARGET_FLAGS_HSW = -ta=multicore -tp=haswell
|
||||||
|
TARGET_FLAGS_BDW = -ta=multicore -tp=haswell # Not yet supported directly
|
||||||
|
TARGET_FLAGS_KNL = -ta=multicore -tp=haswell # Not yet supported directly
|
||||||
|
TARGET_FLAGS_KEPLER = -ta=nvidia:cc35
|
||||||
|
TARGET_FLAGS_MAXWELL = -ta=nvidia:cc50
|
||||||
|
TARGET_FLAGS_PASCAL = -ta=nvidia:cc60
|
||||||
|
TARGET_FLAGS_HAWAII = -ta=radeon:hawaii
|
||||||
|
ifeq ($(TARGET_FLAGS_$(TARGET)),)
|
||||||
|
$(error $(target_help))
|
||||||
endif
|
endif
|
||||||
ifeq ($(TARGET), GPU)
|
|
||||||
FLAGS_PGI += -ta=nvidia
|
FLAGS_PGI += $(TARGET_FLAGS_$(TARGET))
|
||||||
else ifeq ($(TARGET), CPU)
|
|
||||||
FLAGS_PGI += -ta=multicore
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
FLAGS_CRAY = -hstd=c++11
|
FLAGS_CRAY = -hstd=c++11
|
||||||
CXXFLAGS = $(FLAGS_$(COMPILER))
|
CXXFLAGS = $(FLAGS_$(COMPILER))
|
||||||
|
|
||||||
acc-stream: main.cpp ACCStream.cpp
|
acc-stream: main.cpp ACCStream.cpp
|
||||||
$(CXX) $(CXXFLAGS) -DACC $^ $(EXTRA_FLAGS) -o $@
|
$(COMPILER_$(COMPILER)) $(CXXFLAGS) -DACC $^ $(EXTRA_FLAGS) -o $@
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user