Skip to content

Commit 94d3cfa

Browse files
committed
Merge pull request #404 from wernsaar/develop
A lot of fixes for v0.2.10-rc2
2 parents 1127f5a + 13348b2 commit 94d3cfa

17 files changed

Lines changed: 201 additions & 43 deletions

File tree

Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,16 @@ ifndef NOFORTRAN
247247
-@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
248248
-@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
249249
-@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
250-
ifeq ($(F_COMPILER), GFORTRAN)
250+
ifeq ($(FC), GFORTRAN)
251251
-@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
252+
ifdef SMP
253+
-@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc
254+
else
255+
-@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
256+
endif
252257
else
253258
-@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc
259+
-@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
254260
endif
255261
-@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
256262
endif

driver/level3/Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
TOPDIR = ../..
22
include ../../Makefile.system
33

4+
USE_GEMM3M = 0
5+
46
ifeq ($(ARCH), x86)
5-
USE_GEMM3M = 1
7+
USE_GEMM3M = 0
68
endif
79

810
ifeq ($(ARCH), x86_64)
9-
USE_GEMM3M = 1
11+
USE_GEMM3M = 0
1012
endif
1113

1214
ifeq ($(ARCH), ia64)
@@ -168,7 +170,7 @@ XBLASOBJS += \
168170
xher2k_kernel_UN.$(SUFFIX) xher2k_kernel_UC.$(SUFFIX) \
169171
xher2k_kernel_LN.$(SUFFIX) xher2k_kernel_LC.$(SUFFIX)
170172

171-
ifdef USE_GEMM3M
173+
ifeq ($(USE_GEMM3M), 1)
172174

173175
CBLASOBJS += \
174176
cgemm3m_nn.$(SUFFIX) cgemm3m_cn.$(SUFFIX) cgemm3m_tn.$(SUFFIX) cgemm3m_nc.$(SUFFIX) \
@@ -239,7 +241,7 @@ CBLASOBJS += cherk_thread_UN.$(SUFFIX) cherk_thread_UC.$(SUFFIX) cherk_thread
239241
ZBLASOBJS += zherk_thread_UN.$(SUFFIX) zherk_thread_UC.$(SUFFIX) zherk_thread_LN.$(SUFFIX) zherk_thread_LC.$(SUFFIX)
240242
XBLASOBJS += xherk_thread_UN.$(SUFFIX) xherk_thread_UC.$(SUFFIX) xherk_thread_LN.$(SUFFIX) xherk_thread_LC.$(SUFFIX)
241243

242-
ifdef USE_GEMM3M
244+
ifeq ($(USE_GEMM3M), 1)
243245

244246
CBLASOBJS += cgemm3m_thread_nn.$(SUFFIX) cgemm3m_thread_nt.$(SUFFIX) cgemm3m_thread_nr.$(SUFFIX) cgemm3m_thread_nc.$(SUFFIX)
245247
CBLASOBJS += cgemm3m_thread_tn.$(SUFFIX) cgemm3m_thread_tt.$(SUFFIX) cgemm3m_thread_tr.$(SUFFIX) cgemm3m_thread_tc.$(SUFFIX)

driver/others/parameter.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,8 @@ int get_L2_size(void){
165165

166166
#if defined(ATHLON) || defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER) || \
167167
defined(CORE_PRESCOTT) || defined(CORE_CORE2) || defined(PENRYN) || defined(DUNNINGTON) || \
168-
defined(CORE_NEHALEM) || defined(CORE_SANDYBRIDGE) || defined(ATOM) || defined(GENERIC)
168+
defined(CORE_NEHALEM) || defined(CORE_SANDYBRIDGE) || defined(ATOM) || defined(GENERIC) || \
169+
defined(PILEDRIVER) || defined(HASWELL)
169170

170171
cpuid(0x80000006, &eax, &ebx, &ecx, &edx);
171172

exports/gensymbol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
);
7474

7575
@gemm3mobjs = (
76-
zgemm3m, cgemm3m, zsymm3m, csymm3m, zhemm3m, chemm3m,
76+
7777
);
7878

7979

interface/Makefile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
TOPDIR = ..
22
include $(TOPDIR)/Makefile.system
33

4+
SUPPORT_GEMM3M = 0
5+
46
ifeq ($(ARCH), x86)
57
SUPPORT_GEMM3M = 0
68
endif
@@ -124,7 +126,7 @@ ZBLAS3OBJS = \
124126
zhemm.$(SUFFIX) zherk.$(SUFFIX) zher2k.$(SUFFIX) \
125127
zomatcopy.$(SUFFIX) zimatcopy.$(SUFFIX)
126128

127-
ifdef SUPPORT_GEMM3M
129+
ifeq ($(SUPPORT_GEMM3M), 1)
128130

129131
CBLAS3OBJS += cgemm3m.$(SUFFIX) csymm3m.$(SUFFIX) chemm3m.$(SUFFIX)
130132

@@ -182,7 +184,7 @@ XBLAS3OBJS = \
182184
xtrsm.$(SUFFIX) xsyrk.$(SUFFIX) xsyr2k.$(SUFFIX) \
183185
xhemm.$(SUFFIX) xherk.$(SUFFIX) xher2k.$(SUFFIX)
184186

185-
ifdef SUPPORT_GEMM3M
187+
ifeq ($(SUPPORT_GEMM3M), 1)
186188

187189
XBLAS3OBJS += xgemm3m.$(SUFFIX) xsymm3m.$(SUFFIX) xhemm3m.$(SUFFIX)
188190

@@ -238,7 +240,7 @@ XBLAS3OBJS = \
238240
xtrsm.$(SUFFIX) xsyrk.$(SUFFIX) xsyr2k.$(SUFFIX) \
239241
xhemm.$(SUFFIX) xherk.$(SUFFIX) xher2k.$(SUFFIX)
240242

241-
ifdef SUPPORT_GEMM3M
243+
ifeq ($(SUPPORT_GEMM3M), 1)
242244

243245
XBLAS3OBJS += xgemm3m.$(SUFFIX) xsymm3m.$(SUFFIX) xhemm3m.$(SUFFIX)
244246

interface/ger.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@
4242
#include "functable.h"
4343
#endif
4444

45+
#ifdef SMP
46+
#ifdef __64BIT__
47+
#define SMPTEST 1
48+
#endif
49+
#endif
50+
4551
#ifdef XDOUBLE
4652
#define ERROR_NAME "QGER "
4753
#elif defined DOUBLE
@@ -75,7 +81,7 @@ void NAME(blasint *M, blasint *N, FLOAT *Alpha,
7581
blasint incy = *INCY;
7682
blasint lda = *LDA;
7783
FLOAT *buffer;
78-
#ifdef SMPBUG
84+
#ifdef SMPTEST
7985
int nthreads;
8086
#endif
8187

@@ -107,7 +113,7 @@ void CNAME(enum CBLAS_ORDER order,
107113

108114
FLOAT *buffer;
109115
blasint info, t;
110-
#ifdef SMPBUG
116+
#ifdef SMPTEST
111117
int nthreads;
112118
#endif
113119

@@ -167,7 +173,7 @@ void CNAME(enum CBLAS_ORDER order,
167173

168174
buffer = (FLOAT *)blas_memory_alloc(1);
169175

170-
#ifdef SMPBUG
176+
#ifdef SMPTEST
171177
nthreads = num_cpu_avail(2);
172178

173179

@@ -176,7 +182,7 @@ void CNAME(enum CBLAS_ORDER order,
176182

177183
GER(m, n, 0, alpha, x, incx, y, incy, a, lda, buffer);
178184

179-
#ifdef SMPBUG
185+
#ifdef SMPTEST
180186
} else {
181187

182188
GER_THREAD(m, n, alpha, x, incx, y, incy, a, lda, buffer, nthreads);

interface/sbmv.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@
4343
#include "functable.h"
4444
#endif
4545

46+
/*
47+
#ifdef SMP
48+
#ifdef __64BIT__
49+
#define SMPTEST 1
50+
#endif
51+
#endif
52+
*/
53+
4654
#ifdef XDOUBLE
4755
#define ERROR_NAME "QSBMV "
4856
#elif defined(DOUBLE)
@@ -61,7 +69,7 @@ static int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLA
6169
#endif
6270
};
6371

64-
#ifdef SMPBUG
72+
#ifdef SMPTEST
6573
static int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
6674
#ifdef XDOUBLE
6775
qsbmv_thread_U, qsbmv_thread_L,
@@ -90,7 +98,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
9098
blasint info;
9199
int uplo;
92100
FLOAT *buffer;
93-
#ifdef SMPBUG
101+
#ifdef SMPTEST
94102
int nthreads;
95103
#endif
96104

@@ -130,7 +138,7 @@ void CNAME(enum CBLAS_ORDER order,
130138
FLOAT *buffer;
131139
int uplo;
132140
blasint info;
133-
#ifdef SMPBUG
141+
#ifdef SMPTEST
134142
int nthreads;
135143
#endif
136144

@@ -189,15 +197,15 @@ void CNAME(enum CBLAS_ORDER order,
189197

190198
buffer = (FLOAT *)blas_memory_alloc(1);
191199

192-
#ifdef SMPBUG
200+
#ifdef SMPTEST
193201
nthreads = num_cpu_avail(2);
194202

195203
if (nthreads == 1) {
196204
#endif
197205

198206
(sbmv[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer);
199207

200-
#ifdef SMPBUG
208+
#ifdef SMPTEST
201209
} else {
202210

203211
(sbmv_thread[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer, nthreads);

interface/zger.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@
4242
#include "functable.h"
4343
#endif
4444

45+
#ifdef SMP
46+
#ifdef __64BIT__
47+
#define SMPTEST 1
48+
#endif
49+
#endif
50+
51+
4552
#ifdef XDOUBLE
4653
#ifndef CONJ
4754
#define ERROR_NAME "XGERU "
@@ -109,7 +116,7 @@ void NAME(blasint *M, blasint *N, FLOAT *Alpha,
109116
blasint incy = *INCY;
110117
blasint lda = *LDA;
111118
FLOAT *buffer;
112-
#ifdef SMPBUG
119+
#ifdef SMPTEST
113120
int nthreads;
114121
#endif
115122

@@ -144,7 +151,7 @@ void CNAME(enum CBLAS_ORDER order,
144151

145152
FLOAT *buffer;
146153
blasint info, t;
147-
#ifdef SMPBUG
154+
#ifdef SMPTEST
148155
int nthreads;
149156
#endif
150157

@@ -205,7 +212,7 @@ void CNAME(enum CBLAS_ORDER order,
205212

206213
buffer = (FLOAT *)blas_memory_alloc(1);
207214

208-
#ifdef SMPBUG
215+
#ifdef SMPTEST
209216
nthreads = num_cpu_avail(2);
210217

211218
if (nthreads == 1) {
@@ -221,7 +228,7 @@ void CNAME(enum CBLAS_ORDER order,
221228
}
222229
#endif
223230

224-
#ifdef SMPBUG
231+
#ifdef SMPTEST
225232

226233
} else {
227234

interface/zsbmv.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@
4343
#include "functable.h"
4444
#endif
4545

46+
/*
47+
#ifdef SMP
48+
#ifdef __64BIT__
49+
#define SMPTEST 1
50+
#endif
51+
#endif
52+
*/
53+
4654
#ifdef XDOUBLE
4755
#define ERROR_NAME "XSBMV "
4856
#elif defined(DOUBLE)
@@ -61,7 +69,7 @@ static int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, FLOAT
6169
#endif
6270
};
6371

64-
#ifdef SMPBUG
72+
#ifdef SMPTEST
6573
static int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
6674
#ifdef XDOUBLE
6775
xsbmv_thread_U, xsbmv_thread_L,
@@ -90,7 +98,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
9098
blasint info;
9199
int uplo;
92100
FLOAT *buffer;
93-
#ifdef SMPBUG
101+
#ifdef SMPTEST
94102
int nthreads;
95103
#endif
96104

@@ -131,15 +139,15 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
131139

132140
buffer = (FLOAT *)blas_memory_alloc(1);
133141

134-
#ifdef SMPBUG
142+
#ifdef SMPTEST
135143
nthreads = num_cpu_avail(2);
136144

137145
if (nthreads == 1) {
138146
#endif
139147

140148
(sbmv[uplo])(n, k, alpha_r, alpha_i, a, lda, b, incx, c, incy, buffer);
141149

142-
#ifdef SMPBUG
150+
#ifdef SMPTEST
143151
} else {
144152

145153
(sbmv_thread[uplo])(n, k, ALPHA, a, lda, b, incx, c, incy, buffer, nthreads);

kernel/Makefile.L3

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
USE_GEMM3M = 0
2+
13
ifeq ($(ARCH), x86)
24
USE_GEMM3M = 1
35
endif
@@ -122,7 +124,7 @@ XBLASOBJS += \
122124
xtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) xtrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
123125
xtrsm_kernel_RR$(TSUFFIX).$(SUFFIX) xtrsm_kernel_RC$(TSUFFIX).$(SUFFIX) \
124126

125-
ifdef USE_GEMM3M
127+
ifeq ($(USE_GEMM3M), 1)
126128

127129
CBLASOBJS += cgemm3m_kernel$(TSUFFIX).$(SUFFIX)
128130
ZBLASOBJS += zgemm3m_kernel$(TSUFFIX).$(SUFFIX)
@@ -256,7 +258,7 @@ XBLASOBJS += \
256258
xhemm_iutcopy$(TSUFFIX).$(SUFFIX) xhemm_iltcopy$(TSUFFIX).$(SUFFIX) \
257259
xhemm_outcopy$(TSUFFIX).$(SUFFIX) xhemm_oltcopy$(TSUFFIX).$(SUFFIX)
258260

259-
ifdef USE_GEMM3M
261+
ifeq ($(USE_GEMM3M), 1)
260262

261263
CBLASOBJS += \
262264
cgemm3m_incopyb$(TSUFFIX).$(SUFFIX) cgemm3m_itcopyb$(TSUFFIX).$(SUFFIX) \

0 commit comments

Comments
 (0)