|
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