Statistiques
| Révision :

root / BLAS / xTRSV / Makefile @ 7

Historique | Voir | Annoter | Télécharger (3,45 ko)

1 1 equemene
SOURCE=xTRSV.c
2 1 equemene
3 7 equemene
CC=gcc-4.6
4 7 equemene
FC=gfortran-4.6
5 1 equemene
CFLAGS=-Wall -O3
6 1 equemene
LDFLAGS=-lm
7 1 equemene
CUDADIR=/opt/cuda
8 1 equemene
CUDASRC=$(CUDADIR)/src
9 1 equemene
THUNKING=fortran_thunking.c
10 1 equemene
CUDASRCINC=fortran_common.h
11 1 equemene
CUDAINC=$(CUDADIR)/include
12 1 equemene
CUDALIB=$(CUDADIR)/lib64
13 1 equemene
14 1 equemene
GSLINC=/usr/include/gsl
15 1 equemene
16 1 equemene
GOTO2=/opt/GotoBLAS2
17 1 equemene
18 7 equemene
OPENBLAS=/usr/lib/openblas-base
19 6 equemene
20 7 equemene
ATLAS=/usr/lib/atlas-base
21 7 equemene
22 1 equemene
ACML=/opt/acml
23 1 equemene
ACMLINC=$(ACML)/gfortran64_mp/include
24 1 equemene
ACMLLIB=$(ACML)/gfortran64_mp/lib
25 1 equemene
26 7 equemene
#EXECUTABLE=cblas fblas gsl cublas thunking gotoblas acml openblas
27 7 equemene
EXECUTABLE=cblas fblas gsl cublas thunking openblas
28 1 equemene
29 1 equemene
#FORMAT=DOUBLE
30 1 equemene
FORMAT=FLOAT
31 1 equemene
32 1 equemene
#DIRECTIVES=-D$(FORMAT) -DPRINT -DUNIT
33 1 equemene
#DIRECTIVES=-D$(FORMAT) -DUNIT -DRESULTS -DQUIET
34 1 equemene
DIRECTIVES=-DQUIET -DUNIT
35 1 equemene
36 1 equemene
all: $(EXECUTABLE)
37 1 equemene
38 1 equemene
cblas: $(SOURCE)
39 1 equemene
40 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
41 7 equemene
		$(SOURCE) $(ATLAS)/libcblas.a $(ATLAS)/libatlas.a -o $(SOURCE:.c=)_SP_$@
42 1 equemene
43 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
44 7 equemene
		$(SOURCE) $(ATLAS)/libcblas.a $(ATLAS)/libatlas.a -o $(SOURCE:.c=)_DP_$@
45 1 equemene
46 1 equemene
gotoblas: $(SOURCE)
47 1 equemene
48 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
49 1 equemene
		$(SOURCE) $(GOTO2)/libgoto2.a -lpthread -o $(SOURCE:.c=)_SP_$@
50 1 equemene
51 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
52 1 equemene
		$(SOURCE) $(GOTO2)/libgoto2.a -lpthread -o $(SOURCE:.c=)_DP_$@
53 1 equemene
54 6 equemene
openblas: $(SOURCE)
55 6 equemene
56 6 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
57 6 equemene
		$(SOURCE) $(OPENBLAS)/libopenblas.a -lpthread -o $(SOURCE:.c=)_SP_$@
58 6 equemene
59 6 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
60 6 equemene
		$(SOURCE) $(OPENBLAS)/libopenblas.a -lpthread -o $(SOURCE:.c=)_DP_$@
61 6 equemene
62 1 equemene
acml: $(SOURCE)
63 1 equemene
64 1 equemene
	$(CC) -I$(ACMLINC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DACML $(LDFLAGS) \
65 1 equemene
		$(SOURCE) -L$(ACMLLIB) -lacml_mp -lacml_mv \
66 1 equemene
		-lgomp -lgfortran -lpthread -o $(SOURCE:.c=)_SP_$@
67 1 equemene
68 1 equemene
	$(CC) -I$(ACMLINC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DACML $(LDFLAGS) \
69 1 equemene
		$(SOURCE) -L$(ACMLLIB) -lacml_mp -lacml_mv \
70 1 equemene
		-lgomp -lgfortran -lpthread -o $(SOURCE:.c=)_DP_$@
71 1 equemene
72 1 equemene
fblas: $(SOURCE)
73 1 equemene
74 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DFBLAS $(LDFLAGS) \
75 7 equemene
		$(SOURCE) $(ATLAS)/libf77blas.a $(ATLAS)/libatlas.a -lgfortran -o $(SOURCE:.c=)_SP_$@
76 1 equemene
77 1 equemene
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DFBLAS $(LDFLAGS) \
78 7 equemene
		$(SOURCE) $(ATLAS)/libf77blas.a $(ATLAS)/libatlas.a -lgfortran -o $(SOURCE:.c=)_DP_$@
79 1 equemene
80 1 equemene
81 1 equemene
gsl: $(SOURCE)
82 1 equemene
83 1 equemene
	$(CC) -I$(GSLINC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DGSL $(LDFLAGS) \
84 1 equemene
		$(SOURCE) -lgslcblas -o $(SOURCE:.c=)_SP_$@
85 1 equemene
86 1 equemene
	$(CC) -I$(GSLINC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DGSL $(LDFLAGS) \
87 1 equemene
		$(SOURCE) -lgslcblas -o $(SOURCE:.c=)_DP_$@
88 1 equemene
89 1 equemene
90 1 equemene
cublas: $(SOURCE)
91 1 equemene
92 1 equemene
	$(CC) -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DCUBLAS -DFLOAT $(LDFLAGS) \
93 1 equemene
		$(DIRECTIVES) $(SOURCE) -lcublas -o $(SOURCE:.c=)_SP_$@
94 1 equemene
95 1 equemene
	$(CC) -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DCUBLAS -DDOUBLE $(LDFLAGS) \
96 1 equemene
		$(DIRECTIVES) $(SOURCE) -lcublas -o $(SOURCE:.c=)_DP_$@
97 1 equemene
98 1 equemene
thunking: $(SOURCE)
99 1 equemene
100 1 equemene
# Copy of source for thunking CUBLAS approach
101 1 equemene
	cp $(CUDASRC)/$(THUNKING) $(CUDASRC)/$(THUNKING:.c=.h) \
102 1 equemene
		$(CUDASRC)/$(CUDASRCINC) .
103 1 equemene
104 7 equemene
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) $(CFLAGS) -c $(THUNKING)
105 7 equemene
106 7 equemene
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DTHUNKING \
107 1 equemene
		$(LDFLAGS) $(DIRECTIVES) $(SOURCE) -DFLOAT \
108 1 equemene
		$(THUNKING:.c=.o) -lcublas -o $(SOURCE:.c=)_SP_$@
109 1 equemene
110 7 equemene
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DTHUNKING \
111 1 equemene
		$(LDFLAGS) $(DIRECTIVES) $(SOURCE) -DDOUBLE \
112 1 equemene
		$(THUNKING:.c=.o) -lcublas -o $(SOURCE:.c=)_DP_$@
113 1 equemene
114 1 equemene
clean: $(SOURCE)
115 1 equemene
	find . -name "$(SOURCE:.c=)_*" -exec rm {} \;
116 1 equemene
	find . -name "$(THUNKING:.c=)*" -exec rm {} \;
117 1 equemene
	find . -name "*~" -exec rm {} \;
118 1 equemene
	find . -name "$(CUDASRCINC)" -exec rm {} \;