Commit ccd06a9a authored by David Goz's avatar David Goz
Browse files

jacobi_solution/gpu/openacc added

parent e0a23993
Loading
Loading
Loading
Loading

jacobi/gpu/openacc/make.def

deleted100644 → 0
+0 −45
Original line number Diff line number Diff line
CC     = gcc
CFLAGS = -Wall -Wextra -march=native
LIBS   = -lm

SYSTYPE = $(strip $(shell uname -n))

PROG           = jacobi_serial_opt_$(SYSTYPE)
PROG_DEBUG      = $(PROG)_DEBUG
PROG_MEMCHECK   = $(PROG)_MEMCHECK
PROG_CALLGRIND  = $(PROG)_CALLGRIND
PROG_CACHEGRIND = $(PROG)_CACHEGRIND

HEADERS       = $(wildcard ./include/*.h)
SOURCES       = $(wildcard ./src/*.c)
DEPENDENCIES  = $(SOURCES) $(HEADERS) Makefile

$(PROG): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -O3 -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '

$(PROG_DEBUG): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -Og -ggdb3 -fno-omit-frame-pointer -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG_DEBUG) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '

$(PROG_MEMCHECK): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -Og -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG_MEMCHECK) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '

$(PROG_CALLGRIND): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -g -O3 -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG_CALLGRIND) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '

$(PROG_CACHEGRIND): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -g -O3 -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG_CACHEGRIND) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '
+34 −0
Original line number Diff line number Diff line
@@ -11,53 +11,24 @@
include make.def
#######################################################################

.PHONY: info serial valgrind_memcheck valgrind_callgrind valgrind_cachegrind debug clean 
.PHONY: info openacc serial clean

info:
	@echo ' '
	@echo '-----------------------------------------------------------------------------------------------'
	@echo '$$ make OpenACC                ---> compile the OpenACC application                            '
	@echo '$$ make serial                 ---> compile the serial application                             '
	@echo '$$ make debug                  ---> debug the serial application                               '
	@echo '$$ make valgrind_memcheck      ---> run the serial application using Valgrind under Memcheck   '
	@echo '$$ make valgrind_callgrind     ---> run the serial application using Valgrind under Callgrind  '
	@echo '$$ make valgrind_cachegrind    ---> run the serial application using Valgrind under Cachegrind '
	@echo '$$ make clean                  ---> clean up all                                               '
	@echo '$$ make info                   ---> get make info                                              '
	@echo '-----------------------------------------------------------------------------------------------'
	@echo ' '

serial: $(PROG)
openacc: $(PROG)

debug: $(PROG_DEBUG)
	@echo 'OOOooo... debugging ...oooOOO'
	gdb --args ./$<
	@echo 'OOOooo... debugging ... oooOOO'

valgrind_memcheck: $(PROG_MEMCHECK)
	@echo 'oooOOO... valgrind_memcheck ...OOOooo'
	valgrind --tool=memcheck -s --leak-check=full --show-leak-kinds=all --track-origins=yes --read-var-info=yes --log-file=valgrind_memcheck_log_%p.txt ./$< 10 10
	@echo 'oooOOO... valgrind_memcheck ...OOOooo'

valgrind_callgrind: $(PROG_CALLGRIND)
	@echo 'oooOOO... valgrind_callgrind ...OOOooo'
	valgrind --tool=callgrind --dump-instr=yes --collect-jumps=yes --log-file=valgrind_callgrind_log_.%p.txt ./$< 128 128
	@echo ' '
	@echo 'To generate a function-by-function summary from the profile data file:'
	@echo '$$ callgrind_annotate --auto=yes callgrind.out.<pid> | less'
	@echo '(kcachegrind is required in order to visualize the output using the GUI)'

valgrind_cachegrind: $(PROG_CACHEGRIND)
	@echo 'oooOOO... valgrind_cachegrind ...OOOooo'
	valgrind --tool=cachegrind --cache-sim=yes --log-file=valgrind_cachegrind_log_.%p.txt ./$< 128 128
	@echo '$$ cg_annotate --auto=yes cachegrind.out.<pid> | less'
	@echo '(kcachegrind is required in order to visualize the output using the GUI)'
	@echo 'oooOOO... valgrind_cachegrind ...OOOooo'
serial: $(PROG_SERIAL)

clean:
	rm -f *~ .*~ ./src/*~ ./src/*# ./include/*~ ./include/*# *~
	rm -f $(PROG) $(PROG_DEBUG) $(PROG_MEMCHECK) $(PROG_CALLGRIND) $(PROG_CACHEGRIND)
	rm -f valgrind_*.txt
	rm -f cachegrind.out.*
	rm -f callgrind.*
	rm -f $(PROG) $(PROG_SERIAL)
	rm -f *bin
	rm -f jacobi_serial_opt_*
	rm -f jacobi_OpeACC*
	rm -rf jacobi_serial*
+26 −0
Original line number Diff line number Diff line
CC             = gcc
CC_OPENACC     = pgcc
CFLAGS_OPENACC = -acc -fast -Minfo=accel -ta=tesla:cc80 -ta=tesla:maxregcount:32 -ta=tesla:ptxinfo -g
CFLAGS         = -Wall -Wextra -march=native -mtune=native
LIBS           = -lm

SYSTYPE = $(strip $(shell uname -n))

PROG          = jacobi_OpenACC_$(SYSTYPE)
PROG_SERIAL   = jacobi_serial_$(SYSTYPE)

HEADERS       = $(wildcard ./include/*.h)
SOURCES       = $(wildcard ./src/*.c)
DEPENDENCIES  = $(SOURCES) $(HEADERS) Makefile

$(PROG): $(DEPENDENCIES)
	$(CC_OPENACC) $(CFLAGS_OPENACC) -O3 -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '

$(PROG_SERIAL): $(DEPENDENCIES)
	$(CC) $(CFLAGS) -O3 -I./include $(SOURCES) -o $@ $(LIBS)
	@echo ' '
	@echo 'Program' $(PROG_SERIAL) 'compiled for' $(SYSTYPE) 'machine'
	@echo ' '
Loading