# # Copyright 2015-2021 NVIDIA Corporation. All rights reserved # # CUPTI OpenACC support is only available on Linux x86_64, ppc64le and arm64 SBSA. # This sample requires PGI compiler version HPC SDK 20.5 or later. # Point to your PGI OpenACC installation's include directory. # PGI compiler must be in PATH. CUDA_INSTALL_PATH ?= ../../../.. EXTRAS_LIB_PATH := ../../lib64 LIB_PATH ?= "$(CUDA_INSTALL_PATH)/lib64" OPENACC_INCLUDE_PATH = HOST_ARCH := $(shell uname -m) INCLUDES += -I../../include INCLUDES += -I"$(CUDA_INSTALL_PATH)/include" INCLUDES += -I$(OPENACC_INCLUDE_PATH) PGCPP = nvc++ PGCPP_FLAGS = -acc -ta=nvidia:cuda11.0 -Mcuda=nordc -pgf90libs ifneq ($(HOST_ARCH),ppc64le) PGCPP_FLAGS += -tp=p7 -mp=nonuma else PGCPP_FLAGS += -DHOST_ARCH_PPC=1 endif export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(LIB_PATH) TRACE_LIB = libopenacc_trace.so all: openacc_app $(TRACE_LIB): openacc_trace.cpp $(PGCPP) $(INCLUDES) -DCUPTI_DIRECTIVE_SUPPORT -fPIC -shared -o $@ $< openacc_app: $(TRACE_LIB) openacc_app.cpp $(PGCPP) $(INCLUDES) $(PGCPP_FLAGS) \ -L. -L $(EXTRAS_LIB_PATH) -L $(LIB_PATH) -lopenacc_trace -lcupti \ -o $@ $^ run: $(TRACE_LIB) openacc_app ACC_PROFLIB=$(TRACE_LIB) ./openacc_app clean: rm -f $(TRACE_LIB) openacc_app