|
1 | | -CILK = /opt/intel/composer_xe_2013.5.198/compiler |
2 | | -INCADD = -I$(CILK)/include -I$(CILK)/examples/include |
3 | | -LIBADD = -L$(CILK)/lib/intel64 |
| 1 | +CILK?=0 |
| 2 | +NATIVE?=1 |
| 3 | +OPT?=3 |
| 4 | + |
| 5 | +CFLAGS := -Wall -Wextra -O$(OPT) -g -std=c++17 -gdwarf-4 -fno-exceptions |
| 6 | + |
| 7 | +ifeq ($(NATIVE),1) |
| 8 | +CFLAGS += -march=native |
| 9 | +endif |
| 10 | + |
| 11 | +ifeq ($(CILK),1) |
| 12 | +CFLAGS += -fopencilk |
| 13 | +endif |
| 14 | + |
| 15 | +DEFINES := -DCILK=$(CILK) |
4 | 16 |
|
5 | | -GCCOPT = -O2 -fno-rtti -fno-exceptions # -ftree-vectorize |
6 | | -INTELOPT = -O2 -no-ipo -fno-rtti -fno-exceptions -parallel -restrict -std=c++11 -xAVX -no-prec-div #-fno-inline-functions |
7 | | -DEB = -g -DNOBM -O0 -parallel -restrict -std=c++11 |
8 | 17 |
|
9 | 18 | seqsym: sym_spmv_test.cpp csbsym.cpp csbsym.h utility.h friends.h SSEspmv.o |
10 | | - icpc -cilk-serialize $(INCADD) $(INTELOPT) -o seqsym sym_spmv_test.cpp SSEspmv.o |
| 19 | + $(CXX) $(CFLAGS) $(DEFINES) -o seqsym sym_spmv_test.cpp SSEspmv.o |
11 | 20 |
|
12 | 21 | parsym: sym_spmv_test.cpp csbsym.cpp csbsym.h utility.h friends.h SSEspmv.o |
13 | | - icpc $(INCADD) $(DEB) -o parsym sym_spmv_test.cpp SSEspmv.o |
| 22 | + $(CXX) $(CFLAGS) $(DEFINES) -o parsym sym_spmv_test.cpp SSEspmv.o |
14 | 23 |
|
15 | 24 | symanal: sym_spmv_test.cpp csbsym.cpp csbsym.h utility.h friends.h SSEspmv.o |
16 | | - icpc -DSTATS $(INCADD) $(INTELOPT) -o symanal sym_spmv_test.cpp SSEspmv.o -lcilkutil |
| 25 | + $(CXX) $(CFLAGS) $(DEFINES) -o symanal sym_spmv_test.cpp SSEspmv.o -lcilkutil |
17 | 26 |
|
18 | 27 | seqspmv: csb_spmv_test.cpp bicsb.cpp bicsb.h bmcsb.cpp bmcsb.h friends.h utility.h SSEspmv.o |
19 | | - icpc -cilk-serialize $(INCADD) $(INTELOPT) -o seqspmv csb_spmv_test.cpp SSEspmv.o |
| 28 | + $(CXX) $(CFLAGS) $(DEFINES) -o seqspmv csb_spmv_test.cpp SSEspmv.o |
20 | 29 |
|
21 | 30 | parspmv: csb_spmv_test.cpp bicsb.cpp bicsb.h bmcsb.cpp bmcsb.h friends.h utility.h SSEspmv.o |
22 | | - icpc $(INCADD) $(INTELOPT) -o parspmv csb_spmv_test.cpp SSEspmv.o |
| 31 | + $(CXX) $(CFLAGS) $(DEFINES) -o parspmv csb_spmv_test.cpp SSEspmv.o |
23 | 32 |
|
24 | 33 | parspmv_nobm: csb_spmv_test.cpp bicsb.cpp bicsb.h friends.h utility.h |
25 | | - icpc $(INCADD) $(INTELOPT) -DNOBM -o parspmv_nobm csb_spmv_test.cpp |
| 34 | + $(CXX) $(CFLAGS) $(DEFINES) -DNOBM -o parspmv_nobm csb_spmv_test.cpp |
26 | 35 |
|
27 | 36 | parspmvt: csb_spmvt_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
28 | | - icpc $(INCADD) $(INTELOPT) -o parspmvt csb_spmvt_test.cpp |
| 37 | + $(CXX) $(CFLAGS) $(DEFINES) -o parspmvt csb_spmvt_test.cpp |
29 | 38 |
|
30 | 39 | both_d: both_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
31 | | - icpc $(INCADD) $(INTELOPT) -o both_d both_test.cpp |
| 40 | + $(CXX) $(CFLAGS) $(DEFINES) -o both_d both_test.cpp |
32 | 41 |
|
33 | 42 | both_s: both_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
34 | | - icpc $(INCADD) $(INTELOPT) -DSINGLEPRECISION -o both_s both_test.cpp |
| 43 | + $(CXX) $(CFLAGS) $(DEFINES) -DSINGLEPRECISION -o both_s both_test.cpp |
35 | 44 |
|
36 | 45 | spmm_dall: spmm_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
37 | 46 | for number in 4 8 12 16 24 32 40 48 56 64; do \ |
38 | | - echo "icpc $(INCADD) $(INTELOPT) -DRHSDIM=$$number -o spmm_d$$number spmm_test.cpp"; \ |
39 | | - icpc $(INCADD) $(INTELOPT) -DRHSDIM=$$number -o spmm_d$$number spmm_test.cpp; \ |
| 47 | + echo "$(CXX) $(CFLAGS) $(DEFINES) -DRHSDIM=$$number -o spmm_d$$number spmm_test.cpp"; \ |
| 48 | + $(CXX) $(CFLAGS) $(DEFINES) -DRHSDIM=$$number -o spmm_d$$number spmm_test.cpp; \ |
40 | 49 | done; |
41 | 50 |
|
42 | 51 | spmm_a: spmm_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
43 | | - icpc $(INCADD) $(INTELOPT) -DSINGLEPRECISION -S -fcode-asm -vec_report6 spmm_test.cpp |
| 52 | + $(CXX) $(CFLAGS) $(DEFINES) -DSINGLEPRECISION -S -fcode-asm -vec_report6 spmm_test.cpp |
44 | 53 |
|
45 | 54 | spmm_sall: spmm_test.cpp bicsb.cpp bicsb.h utility.h friends.h |
46 | 55 | for number in 4 8 12 16 24 32 40 48 56 64; do \ |
47 | | - echo "icpc $(INCADD) $(INTELOPT) -DSINGLEPRECISION -DRHSDIM=$$number -o spmm_s$$number spmm_test.cpp"; \ |
48 | | - icpc $(INCADD) $(INTELOPT) -DSINGLEPRECISION -DRHSDIM=$$number -o spmm_s$$number spmm_test.cpp; \ |
| 56 | + echo "$(CXX) $(CFLAGS) $(DEFINES) -DSINGLEPRECISION -DRHSDIM=$$number -o spmm_s$$number spmm_test.cpp"; \ |
| 57 | + $(CXX) $(CFLAGS) $(DEFINES) -DSINGLEPRECISION -DRHSDIM=$$number -o spmm_s$$number spmm_test.cpp; \ |
49 | 58 | done; |
50 | 59 |
|
51 | 60 | SSEspmv.o: SSEspmv.cpp |
52 | | - g++ -DAMD $(GCCOPT) -march=amdfam10 -c SSEspmv.cpp |
| 61 | + $(CXX) $(CFLAGS) $(DEFINES) -c SSEspmv.cpp |
53 | 62 |
|
54 | 63 | clean: |
55 | 64 | rm -f seqspmv |
|
0 commit comments