Statistiques
| Révision :

root / BLAS / xTRSV / Makefile @ 7

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

1
SOURCE=xTRSV.c
2

    
3
CC=gcc-4.6
4
FC=gfortran-4.6
5
CFLAGS=-Wall -O3
6
LDFLAGS=-lm
7
CUDADIR=/opt/cuda
8
CUDASRC=$(CUDADIR)/src
9
THUNKING=fortran_thunking.c
10
CUDASRCINC=fortran_common.h
11
CUDAINC=$(CUDADIR)/include
12
CUDALIB=$(CUDADIR)/lib64
13

    
14
GSLINC=/usr/include/gsl
15

    
16
GOTO2=/opt/GotoBLAS2
17

    
18
OPENBLAS=/usr/lib/openblas-base
19

    
20
ATLAS=/usr/lib/atlas-base
21

    
22
ACML=/opt/acml
23
ACMLINC=$(ACML)/gfortran64_mp/include
24
ACMLLIB=$(ACML)/gfortran64_mp/lib
25

    
26
#EXECUTABLE=cblas fblas gsl cublas thunking gotoblas acml openblas
27
EXECUTABLE=cblas fblas gsl cublas thunking openblas
28

    
29
#FORMAT=DOUBLE
30
FORMAT=FLOAT
31

    
32
#DIRECTIVES=-D$(FORMAT) -DPRINT -DUNIT
33
#DIRECTIVES=-D$(FORMAT) -DUNIT -DRESULTS -DQUIET
34
DIRECTIVES=-DQUIET -DUNIT
35

    
36
all: $(EXECUTABLE)
37

    
38
cblas: $(SOURCE)
39

    
40
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
41
		$(SOURCE) $(ATLAS)/libcblas.a $(ATLAS)/libatlas.a -o $(SOURCE:.c=)_SP_$@
42

    
43
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
44
		$(SOURCE) $(ATLAS)/libcblas.a $(ATLAS)/libatlas.a -o $(SOURCE:.c=)_DP_$@
45

    
46
gotoblas: $(SOURCE)
47

    
48
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
49
		$(SOURCE) $(GOTO2)/libgoto2.a -lpthread -o $(SOURCE:.c=)_SP_$@
50

    
51
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
52
		$(SOURCE) $(GOTO2)/libgoto2.a -lpthread -o $(SOURCE:.c=)_DP_$@
53

    
54
openblas: $(SOURCE)
55

    
56
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DCBLAS $(LDFLAGS) \
57
		$(SOURCE) $(OPENBLAS)/libopenblas.a -lpthread -o $(SOURCE:.c=)_SP_$@
58

    
59
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DCBLAS $(LDFLAGS) \
60
		$(SOURCE) $(OPENBLAS)/libopenblas.a -lpthread -o $(SOURCE:.c=)_DP_$@
61

    
62
acml: $(SOURCE)
63

    
64
	$(CC) -I$(ACMLINC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DACML $(LDFLAGS) \
65
		$(SOURCE) -L$(ACMLLIB) -lacml_mp -lacml_mv \
66
		-lgomp -lgfortran -lpthread -o $(SOURCE:.c=)_SP_$@
67

    
68
	$(CC) -I$(ACMLINC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DACML $(LDFLAGS) \
69
		$(SOURCE) -L$(ACMLLIB) -lacml_mp -lacml_mv \
70
		-lgomp -lgfortran -lpthread -o $(SOURCE:.c=)_DP_$@
71

    
72
fblas: $(SOURCE)
73

    
74
	$(CC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DFBLAS $(LDFLAGS) \
75
		$(SOURCE) $(ATLAS)/libf77blas.a $(ATLAS)/libatlas.a -lgfortran -o $(SOURCE:.c=)_SP_$@
76

    
77
	$(CC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DFBLAS $(LDFLAGS) \
78
		$(SOURCE) $(ATLAS)/libf77blas.a $(ATLAS)/libatlas.a -lgfortran -o $(SOURCE:.c=)_DP_$@
79

    
80

    
81
gsl: $(SOURCE)
82

    
83
	$(CC) -I$(GSLINC) $(CFLAGS) $(DIRECTIVES) -DFLOAT -DGSL $(LDFLAGS) \
84
		$(SOURCE) -lgslcblas -o $(SOURCE:.c=)_SP_$@
85

    
86
	$(CC) -I$(GSLINC) $(CFLAGS) $(DIRECTIVES) -DDOUBLE -DGSL $(LDFLAGS) \
87
		$(SOURCE) -lgslcblas -o $(SOURCE:.c=)_DP_$@
88

    
89

    
90
cublas: $(SOURCE)
91

    
92
	$(CC) -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DCUBLAS -DFLOAT $(LDFLAGS) \
93
		$(DIRECTIVES) $(SOURCE) -lcublas -o $(SOURCE:.c=)_SP_$@
94

    
95
	$(CC) -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DCUBLAS -DDOUBLE $(LDFLAGS) \
96
		$(DIRECTIVES) $(SOURCE) -lcublas -o $(SOURCE:.c=)_DP_$@
97

    
98
thunking: $(SOURCE)
99

    
100
# Copy of source for thunking CUBLAS approach
101
	cp $(CUDASRC)/$(THUNKING) $(CUDASRC)/$(THUNKING:.c=.h) \
102
		$(CUDASRC)/$(CUDASRCINC) .
103

    
104
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) $(CFLAGS) -c $(THUNKING)
105

    
106
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DTHUNKING \
107
		$(LDFLAGS) $(DIRECTIVES) $(SOURCE) -DFLOAT \
108
		$(THUNKING:.c=.o) -lcublas -o $(SOURCE:.c=)_SP_$@
109

    
110
	$(CC) -DCUBLAS_GFORTRAN -I$(CUDAINC) -L$(CUDALIB) $(CFLAGS) -DTHUNKING \
111
		$(LDFLAGS) $(DIRECTIVES) $(SOURCE) -DDOUBLE \
112
		$(THUNKING:.c=.o) -lcublas -o $(SOURCE:.c=)_DP_$@
113

    
114
clean: $(SOURCE)
115
	find . -name "$(SOURCE:.c=)_*" -exec rm {} \;
116
	find . -name "$(THUNKING:.c=)*" -exec rm {} \;
117
	find . -name "*~" -exec rm {} \;
118
	find . -name "$(CUDASRCINC)" -exec rm {} \;