.
This commit is contained in:
parent
ac1d0f7b77
commit
f48b483ab5
1 changed files with 125 additions and 0 deletions
125
Sheet7/Ex_9to13/PGI_NATIVE_default.mk
Normal file
125
Sheet7/Ex_9to13/PGI_NATIVE_default.mk
Normal file
|
|
@ -0,0 +1,125 @@
|
||||||
|
# Use the MPI-wrappers from the PGI compiler suite.
|
||||||
|
# requires setting of COMPILER=PGI_MPI_
|
||||||
|
#
|
||||||
|
# requires
|
||||||
|
# sudo apt install librdmacm1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Details for run time information
|
||||||
|
# export PGI_ACC_TIME=1
|
||||||
|
# unset PGI_ACC_TIME
|
||||||
|
# export PGI_ACC_NOTIFY=1
|
||||||
|
# export PGI_ACC_NOTIFY=3
|
||||||
|
# unset PGI_ACC_NOTIFY
|
||||||
|
|
||||||
|
|
||||||
|
PGI_PATH = /opt/pgi/linux86-64/2019/bin
|
||||||
|
#ifeq "$(HOSTNAME)" "mephisto.uni-graz.at"
|
||||||
|
# # mephisto
|
||||||
|
# PGI_PATH = /share/apps/pgi/linux86-64/2016/bin
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#MPI_ROOT=${PGI_PATH}mpi/mpich/bin/
|
||||||
|
MPI_ROOT= ${PGI_PATH}/../mpi/openmpi-3.1.3/bin/
|
||||||
|
MPIRUN = ${MPI_ROOT}mpirun
|
||||||
|
|
||||||
|
CC = ${MPI_ROOT}mpicc
|
||||||
|
CXX = ${MPI_ROOT}mpicxx
|
||||||
|
#F77 = ${MPI_ROOT}mpif77
|
||||||
|
ifndef LINKER
|
||||||
|
LINKER = ${CC}
|
||||||
|
endif
|
||||||
|
LINKER = ${CXX}
|
||||||
|
|
||||||
|
WARNINGS = -Minform=warn
|
||||||
|
|
||||||
|
PGI_PROFILING += -Minfo=loop,vect,opt,intensity,mp,accel
|
||||||
|
#PGI_PROFILING += -Mprof=lines –Minfo=ccff
|
||||||
|
|
||||||
|
CXXFLAGS += -e3 -std=c++17 -fast ${PGI_PROFILING} ${WARNINGS} -Mnodepchk
|
||||||
|
CFLAGS += -fast ${PGI_PROFILING} ${WARNINGS} -Mnodepchk
|
||||||
|
#
|
||||||
|
# for OpenACC
|
||||||
|
# Target architecture (nvidia,host)
|
||||||
|
TA_ARCH = host
|
||||||
|
#TA_ARCH = nvidia,host
|
||||||
|
#TA_ARCH = -ta=nvidia:cc2+,cuda5.5,fastmath
|
||||||
|
#TA_ARCH = -acc -DNDEBUG -ta=nvidia:cc2+,cuda5.5,fastmath,keepgpu
|
||||||
|
#TA_ARCH = -acc -DNDEBUG -ta=nvidia:cc2+,fastmath,keepgpu
|
||||||
|
|
||||||
|
#,keepgpu
|
||||||
|
# CFLAGS = -O3 -ta=$(TA_ARCH)
|
||||||
|
#CFLAGS += -B -gopt $(TA_ARCH)
|
||||||
|
#CXXFLAGS += -B -gopt $(TA_ARCH)
|
||||||
|
# -Minfo=all
|
||||||
|
|
||||||
|
# libcudart.a is needed for direct CUDA calls
|
||||||
|
#LINKFLAGS = -gopt $(TA_ARCH) -L${BINDIR}../lib $(PGI_PROFILING)
|
||||||
|
# -lcudart
|
||||||
|
|
||||||
|
default: ${PROGRAM}
|
||||||
|
|
||||||
|
${PROGRAM}: ${OBJECTS}
|
||||||
|
$(LINKER) $^ ${LINKFLAGS} -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f ${PROGRAM} ${OBJECTS} *.gpu *gprof.out
|
||||||
|
|
||||||
|
clean_all:: clean
|
||||||
|
@rm -f *_ *~ *.bak *.log *.out *.tar
|
||||||
|
|
||||||
|
#run: clean ${PROGRAM}
|
||||||
|
run: ${PROGRAM}
|
||||||
|
${MPIRUN} -np 4 ${OPTIRUN} ./${PROGRAM}
|
||||||
|
|
||||||
|
# tar the current directory
|
||||||
|
MY_DIR = `basename ${PWD}`
|
||||||
|
tar: clean_all
|
||||||
|
@echo "Tar the directory: " ${MY_DIR}
|
||||||
|
@cd .. ;\
|
||||||
|
tar cf ${MY_DIR}.tar ${MY_DIR} *default.mk ;\
|
||||||
|
cd ${MY_DIR}
|
||||||
|
# tar cf `basename ${PWD}`.tar *
|
||||||
|
|
||||||
|
doc:
|
||||||
|
doxygen Doxyfile
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.f.o:
|
||||||
|
$(F77) -c $(FFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
##################################################################################################
|
||||||
|
# # some tools
|
||||||
|
# # Simple run time profiling of your code
|
||||||
|
# # CXXFLAGS += -g -pg
|
||||||
|
# # LINKFLAGS += -pg
|
||||||
|
|
||||||
|
|
||||||
|
# Profiling options PGI, see: pgcollect -help
|
||||||
|
CPU_PROF = -allcache
|
||||||
|
GPU_PROF = -cuda=gmem,branch,cc13 -cudainit
|
||||||
|
#GPU_PROF = -cuda=branch:cc20
|
||||||
|
#
|
||||||
|
PROF_FILE = pgprof.out
|
||||||
|
|
||||||
|
prof: ${PROGRAM}
|
||||||
|
# ./$^
|
||||||
|
# $(CUDA_HOME)/bin/nvvp &
|
||||||
|
# export LD_LIBRARY_PATH=/state/partition1/apps/pgi/linux86-64/12.9/lib:$LD_LIBRARY_PATH
|
||||||
|
${OPTIRUN} ${BINDIR}pgcollect $(GPU_PROF) ./$^
|
||||||
|
${OPTIRUN} ${BINDIR}pgprof -exe ./$^ $(PROF_FILE) &
|
||||||
|
|
||||||
|
|
||||||
|
# Memory checker (slooooow!!!):
|
||||||
|
# see doc at /usr/local/cuda/doc/cuda-memcheck.pdf
|
||||||
|
# mem: ${PROGRAM}
|
||||||
|
# $(CUDA_HOME)memcheck ./$^
|
||||||
Loading…
Add table
Add a link
Reference in a new issue