ex7
This commit is contained in:
parent
89326dd329
commit
2467b9ae03
44 changed files with 22631 additions and 0 deletions
125
ex7/code/task2/PGI_NATIVE_default.mk
Normal file
125
ex7/code/task2/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