4 # Gets included after the local Makefile in an example sub-directory
6 BASEDIR
=$(dir $(lastword
$(MAKEFILE_LIST
)))
13 PLC
=$(BASEDIR
)..
/polycc
15 # Intel MKL and AMD ACML library paths
20 OPT_FLAGS
:= -O3
-xHost
-ansi-alias
-ipo
-fp-model precise
21 PAR_FLAGS
:= -parallel
25 OPT_FLAGS
:= -O3
-march
=native
-mtune
=native
-ftree-vectorize
26 PAR_FLAGS
:= -ftree-parallelize-loops
=$(NTHREADS
)
38 CFLAGS
+= -DPERFCTR
-L
/usr
/local
/lib64
-lpapi
45 $(SRC
).opt.c
: $(SRC
).c
46 $(PLC
) $(SRC
).c
$(PLCFLAGS
) -o
$@
48 $(SRC
).tiled.c
: $(SRC
).c
49 $(PLC
) $(SRC
).c
--tile
$(TILEFLAGS
) $(PLCFLAGS
) -o
$@
51 $(SRC
).par.c
: $(SRC
).c
52 $(PLC
) $(SRC
).c
--tile
--parallel
$(TILEFLAGS
) $(PLCFLAGS
) -o
$@
54 $(SRC
).lbpar.c
: $(SRC
).c
55 $(PLC
) $(SRC
).c
--tile
--parallel
--partlbtile
$(TILEFLAGS
) $(PLCFLAGS
) -o
$@
57 $(SRC
).mlbpar.c
: $(SRC
).c
58 $(PLC
) $(SRC
).c
--tile
--parallel
--lbtile
--multipar
$(TILEFLAGS
) $(PLCFLAGS
) -o
$@
62 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(SRC
).c
-o
$@
$(LDFLAGS
)
65 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(PAR_FLAGS
) $(SRC
).c
-o
$@
$(LDFLAGS
)
68 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(SRC
).opt.c
-o
$@
$(LDFLAGS
)
71 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(SRC
).tiled.c
-o
$@
$(LDFLAGS
)
74 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(OMP_FLAGS
) $(SRC
).lbpar.c
-o
$@
$(LDFLAGS
)
76 mlbpar
: $(SRC
).mlbpar.c
77 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(OMP_FLAGS
) $(SRC
).mlbpar.c
-o
$@
$(LDFLAGS
)
81 $(CC
) $(OPT_FLAGS
) $(CFLAGS
) $(OMP_FLAGS
) $(SRC
).par.c
-o
$@
$(LDFLAGS
)
83 perf
: orig tiled par orig_par
86 OMP_NUM_THREADS
=$(NTHREADS
) .
/orig_par
88 OMP_NUM_THREADS
=$(NTHREADS
) .
/par
92 OMP_NUM_THREADS
=$(NTHREADS
) .
/par
93 OMP_NUM_THREADS
=$(NTHREADS
) .
/lbpar
100 diff
-q out_orig out_tiled
101 OMP_NUM_THREADS
=$(NTHREADS
) .
/par
2> out_par4
103 diff
-q out_orig out_par4
106 lbtest
: par lbpar mlbpar
108 OMP_NUM_THREADS
=$(NTHREADS
) .
/par
2> out_par4
109 OMP_NUM_THREADS
=$(NTHREADS
) .
/lbpar
2> out_lbpar4
110 OMP_NUM_THREADS
=$(NTHREADS
) .
/mlbpar
2> out_mlbpar4
112 diff
-q out_par4 out_lbpar4
113 diff
-q out_par4 out_mlbpar4
121 diff
-q out_orig out_opt
126 rm -f out_
* *.lbpar.c
*.tiled.c
*.opt.c
*.par.c
*.mlbpar.c orig opt tiled par sched orig_par \
127 hopt hopt
*.par2d.c
*.out.
* \
128 *.kernel.
* a.out
$(EXTRA_CLEAN
) tags tmp
* gmon.out
*~ .unroll \
129 .vectorize par2d parsetab.py
*.body.c
*.pluto.c
*.par.cloog
*.tiled.cloog
*.pluto.cloog
132 rm -f out_
* opt orig tiled lbtile lbpar sched sched hopt hopt par orig_par
*.out.
* *.kernel.
* a.out \
133 $(EXTRA_CLEAN
) tags tmp
* gmon.out
*~ par2d