commit
d6905403e3
|
@ -246,6 +246,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS
|
||||||
|
|
||||||
#ifdef SMP
|
#ifdef SMP
|
||||||
double MNK;
|
double MNK;
|
||||||
|
#if defined(USE_SIMPLE_THREADED_LEVEL3) || !defined(NO_AFFINITY)
|
||||||
#ifndef COMPLEX
|
#ifndef COMPLEX
|
||||||
#ifdef XDOUBLE
|
#ifdef XDOUBLE
|
||||||
int mode = BLAS_XDOUBLE | BLAS_REAL;
|
int mode = BLAS_XDOUBLE | BLAS_REAL;
|
||||||
|
@ -264,6 +265,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(SMP) && !defined(NO_AFFINITY) && !defined(USE_SIMPLE_THREADED_LEVEL3)
|
#if defined(SMP) && !defined(NO_AFFINITY) && !defined(USE_SIMPLE_THREADED_LEVEL3)
|
||||||
int nodes;
|
int nodes;
|
||||||
|
@ -417,8 +419,10 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS
|
||||||
sb = (XFLOAT *)(((BLASLONG)sa + ((GEMM_P * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
|
sb = (XFLOAT *)(((BLASLONG)sa + ((GEMM_P * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
|
||||||
|
|
||||||
#ifdef SMP
|
#ifdef SMP
|
||||||
|
#if defined(USE_SIMPLE_THREADED_LEVEL3) || !defined(NO_AFFINITY)
|
||||||
mode |= (transa << BLAS_TRANSA_SHIFT);
|
mode |= (transa << BLAS_TRANSA_SHIFT);
|
||||||
mode |= (transb << BLAS_TRANSB_SHIFT);
|
mode |= (transb << BLAS_TRANSB_SHIFT);
|
||||||
|
#endif
|
||||||
|
|
||||||
MNK = (double) args.m * (double) args.n * (double) args.k;
|
MNK = (double) args.m * (double) args.n * (double) args.k;
|
||||||
if ( MNK <= (SMP_THRESHOLD_MIN * (double) GEMM_MULTITHREAD_THRESHOLD) )
|
if ( MNK <= (SMP_THRESHOLD_MIN * (double) GEMM_MULTITHREAD_THRESHOLD) )
|
||||||
|
|
|
@ -107,7 +107,6 @@ void CNAME(FLOAT *dd1, FLOAT *dd2, FLOAT *dx1, FLOAT dy1, FLOAT *dparam){
|
||||||
dq1 = dp1 * *dx1;
|
dq1 = dp1 * *dx1;
|
||||||
if(ABS(dq1) > ABS(dq2))
|
if(ABS(dq1) > ABS(dq2))
|
||||||
{
|
{
|
||||||
dflag = ZERO;
|
|
||||||
dh11 = ONE;
|
dh11 = ONE;
|
||||||
dh22 = ONE;
|
dh22 = ONE;
|
||||||
dh21 = - dy1 / *dx1;
|
dh21 = - dy1 / *dx1;
|
||||||
|
|
|
@ -93,7 +93,6 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||||
#if defined(SMP)
|
#if defined(SMP)
|
||||||
int nthreads;
|
int nthreads;
|
||||||
FLOAT dummy_alpha;
|
FLOAT dummy_alpha;
|
||||||
FLOAT * dummy_b;
|
|
||||||
#endif
|
#endif
|
||||||
FLOAT sumf = 0.0;
|
FLOAT sumf = 0.0;
|
||||||
|
|
||||||
|
@ -115,7 +114,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||||
#else
|
#else
|
||||||
mode = BLAS_DOUBLE | BLAS_REAL;
|
mode = BLAS_DOUBLE | BLAS_REAL;
|
||||||
#endif
|
#endif
|
||||||
blas_level1_thread_with_return_value(mode, n, 0, 0, &dummy_alpha, x, inc_x, dummy_b, 0, result, 0, (void *)asum_thread_function, nthreads);
|
blas_level1_thread_with_return_value(mode, n, 0, 0, &dummy_alpha, x, inc_x, NULL, 0, result, 0, (void *)asum_thread_function, nthreads);
|
||||||
ptr = (FLOAT *)result;
|
ptr = (FLOAT *)result;
|
||||||
for (i = 0; i < nthreads; i++) {
|
for (i = 0; i < nthreads; i++) {
|
||||||
sumf += (*ptr);
|
sumf += (*ptr);
|
||||||
|
|
Loading…
Reference in New Issue