source: CIVL/examples/omp/HydroC/Makefile@ 1aaefd4

main test-branch
Last change on this file since 1aaefd4 was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 5.5 KB
Line 
1# Link make.inc with the targeted architecture in Arch directory
2# For example : ln -s make_sp6 make.inc
3#--------------------------------------
4include make.inc
5
6# OpenMP options
7#---------------
8CFLAGS += $(CFLAGS_MPI) $(DEF)
9CFLAGS += $(CFLAGS_OMP) -g
10CFLAGS += $(CFLAGS_FTI)
11CFLAGS += -vec-report3
12LDFLAGS += $(LDFLAGS_MPI)
13LDFLAGS += $(LDFLAGS_OMP)
14LDFLAGS += $(LDFLAGS_FTI)
15LDFLAGS += -lrt
16
17# Sources directories
18#--------------------
19SRCDIR = .
20
21# Objects
22#------------
23OBJ = SplitSurface.o cmpflx.o compute_deltat.o conservar.o constoprim.o equation_of_state.o hydro_funcs.o hydro_godunov.o hydro_utils.o main.o make_boundary.o parametres.o perfcnt.o qleftright.o riemann.o slope.o trace.o utils.o vtkfile.o hydro_numa.o cclock.o
24
25# Sources files
26#--------------
27SRC=SplitSurface.c hydro_funcs.c hydro_numa.c hydro_godunov.c hydro_utils.c main.c parametres.c perfcnt.c utils.c vtkfile.c cclock.c
28# SRC2 are the files that can be translated to CUDA or OpenCL
29SRC2=cmpflx.c compute_deltat.c conservar.c constoprim.c equation_of_state.c make_boundary.c qleftright.c riemann.c slope.c trace.c
30SRC+=$(SRC2)
31
32# HEADER=$(wildcard *.h)
33
34ifeq ($(PREC),SP)
35CFLAGS += -DPREC_SP=1
36endif
37
38hydro: $(OBJ)
39 $(CC) $(OBJ) -o hydro $(LDFLAGS)
40
41clean:
42 rm -f *.o *~ hydro
43
44cleanall:
45 rm -f *.o *~ hydro
46
47listing:
48 a2ps --medium=A4dj -C -1 -R -l90 --toc -E --prologue=color --file-align=fill -o listing.ps Makefile $(HEADER) $(SRC)
49 ps2pdf -sPAPERSIZE=a4 listing.ps
50 rm listing.ps
51
52%.o: $(SRCDIR)/%.c
53 $(CC) $(CFLAGS) -c $<
54
55%.o: $(SRCDIR)/%.cu
56 $(NVCC) $(NVCFLAGS) -c $<
57
58# Dependencies
59#-------------
60include alldeps.d
61
62# To make sure all dependences are correct, uncomment the next two
63# lines and do a "make alldeps.d" to refresh the list. This command
64# takes some time so I have not left it active. It is really useful
65# only if you have added new files (either .c .cu or .h)
66
67#alldeps.d: $(SRC)
68# env CFLAGS='$(CFLAGS)' ./makedeps > alldeps.d
69
70vg: hydro
71 ccc_mprun -x -T36000 -c1 -n1 valgrind --tool=callgrind --main-stacksize=35000000 --trace-jump=yes --trace-children=yes --branch-sim=yes --cache-sim=yes --callgrind-out-file=toto ./hydro -i input.nml
72 callgrind_annotate toto qleftright.c
73
74hugerun: hydro
75 env OMP_NUM_THREADS=4 ccc_mprun -x -T36000 -c4 -n1 env HUGETLB_MORECORE=yes LD_PRELOAD=/usr/lib64/libhugetlbfs.so hydro -i input.nml
76
77run: hydro
78 env OMP_NUM_THREADS=8 ccc_mprun -p kncn -x -T360 -c8 -n1 env KMP_AFFINITY=compact hydro -i input.nml
79
80brun16: hydro
81 ccc_mprun -p hybrid -x -T360 -c16 -n1 env OMP_NUM_THREADS=16 KMP_AFFINITY=compact hydro -i input.nml
82
83lrun: hydro
84 env OMP_NUM_THREADS=16 KMP_AFFINITY=compact ./hydro -i input.nml
85
86prun: hydro
87 ccc_mprun -p knc -N4 -n16 ./hydro -i input.nml
88
89lrunhuge: hydro
90 env OMP_NUM_THREADS=8 KMP_AFFINITY=compact HUGETLB_MORECORE=yes LD_PRELOAD=/usr/lib64/libhugetlbfs.so ./hydro -i input.nml
91
92urun: hydro
93 env OMP_NUM_THREADS=1 KMP_AFFINITY=scatter ./hydro -i input.nml
94
95erun: hydro
96 env OMP_NUM_THREADS=8 KMP_AFFINITY=compact ./hydro -i input.nml
97
98rmic: hydro
99 ccc_mprun -p knc -n 1 -x env LD_PRELOAD=/lib64/libhugetlbfs.so OMP_NUM_THREADS=240 ./hydro -i input.nml
100hugemic: hydro
101 ssh $(HOSTNAME)-mic0 "cd $(PWD); export LD_PRELOAD=/lib64/libhugetlbfs.so ; env OMP_NUM_THREADS=240 KMP_AFFINITY=compact HUGETLB_MORECORE=yes mpiexec -np 1 ./hydro -i input.nml"
102mmic: hydro
103 ssh $(HOSTNAME)-mic1 "cd $(PWD); env OMP_NUM_THREADS=60 KMP_AFFINITY=compact mpiexec -np 4 ./hydro -i input.nml"
104fmic: hydro
105 ssh $(HOSTNAME)-mic0 "cd $(PWD); env OMP_NUM_THREADS=8 KMP_AFFINITY=compact mpiexec -np 30 ./hydro -i input.nml"
106
107rscan: hydro
108 for i in `seq 10 10 244` ; do ssh $(HOSTNAME)-mic0 "cd $(PWD); env OMP_NUM_THREADS=$$i KMP_AFFINITY=compact mpiexec -np 1 ./hydro -i input.nml " ; done
109
110maq: hydro
111 rm -rf toto maqao_funcs.lst maqao_loopslist.lst
112 env OMP_NUM_THREADS=1 ccc_mprun -M 1024 -x -p knc maqao perf -mIOMP -bin="hydro" -t=SX -op=toto -g=small -uarch=SANDY_BRIDGE -- -i input.nml | tee maqao_run.lst
113 maqao perf -d=SFX -bin='hydro' -uarch=SANDY_BRIDGE -op=toto | tee maqao_funcs.lst
114 maqao perf -d=SLX -bin='hydro' -uarch=SANDY_BRIDGE -op=toto | tee maqao_loopslist.lst
115 rm -f maqao_loopsdetail.lst
116 for i in `deploop.pl < maqao_loopslist.lst | sort -n | uniq ` ; do maqao analyze -s -bin='hydro' -uarch=SANDY_BRIDGE -loop=$$i >> maqao_loopsdetail.lst; done
117 for i in `deploop.pl < maqao_loopslist.lst | sort -n | uniq ` ; do maqao analyze -s -bin='hydro' -uarch=SANDY_BRIDGE -loop=$$i -lvl=1 >> maqao_loopsdetail.lst; done
118
119natif: hydro
120 ccc_mprun -K -p knc -n 1 env OMP_NUM_THREADS=240 ccc_mprun hydro -i input.nml
121
122
123snbhsw: hydro
124 -ccc_mprun -p knc -T 7200 -n 1 env OMP_NUM_THREADS=1 hydro -i input.nml
125 -ccc_mprun -p haswell -T 7200 -n 1 env OMP_NUM_THREADS=1 hydro -i input.nml
126
127scanopt:
128 echo "Opt GATCON CONPRI EOS SLOPE TRACE QLEFTR RIEMAN CMPFLX UPDCON COMPDT MAKBOU ALLRED " > ScanOpts.lst
129 for s in 1 23 32 ; do for n in 256 512 1024 2048 4096 5647; do sed "s/NX/$$n/;s/NS/$$s/" < inputMASK.nml > inputCUR.nml; echo "$${n}_$${s}" >> ScanOpts.lst; echo "Opt GATCON CONPRI EOS SLOPE TRACE QLEFTR RIEMAN CMPFLX UPDCON COMPDT MAKBOU ALLRED " >> ScanOpts.lst; for p in SP DP ; do for i in NVC SE4 AVX AV2 ; do echo $$i; make PREC=$$p MMACH=$$i clean hydro >> compile.lst; ccc_mprun -x -p haswell -n 1 env OMP_NUM_THREADS=1 hydro -i inputCUR.nml | grep 'PE0' | sed "s/PE0/$$i/" >> ScanOpts.lst ; done; echo >> ScanOpts.lst; done; done; done
130
131DATEHOUR=$(shell date +%Y%m%d%H%M )
132Andres:
133 tar czvf Andres_$(DATEHOUR).tgz Makefile *.h *.c input.nml make* alldeps.d
134
135#EOF
Note: See TracBrowser for help on using the repository browser.