| @@ -91,6 +91,27 @@ | |||||
| #endif | #endif | ||||
| #endif | #endif | ||||
| #ifdef SMP | |||||
| #ifndef COMPLEX | |||||
| #ifdef XDOUBLE | |||||
| #define MODE (BLAS_XDOUBLE | BLAS_REAL) | |||||
| #elif defined(DOUBLE) | |||||
| #define MODE (BLAS_DOUBLE | BLAS_REAL) | |||||
| #else | |||||
| #define MODE (BLAS_SINGLE | BLAS_REAL) | |||||
| #endif | |||||
| #else | |||||
| #ifdef XDOUBLE | |||||
| #define MODE (BLAS_XDOUBLE | BLAS_COMPLEX) | |||||
| #elif defined(DOUBLE) | |||||
| #define MODE (BLAS_DOUBLE | BLAS_COMPLEX) | |||||
| #else | |||||
| #define MODE (BLAS_SINGLE | BLAS_COMPLEX) | |||||
| #endif | |||||
| #endif | |||||
| #endif | |||||
| static int (*symm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = { | static int (*symm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = { | ||||
| #ifndef GEMM3M | #ifndef GEMM3M | ||||
| #ifndef HEMM | #ifndef HEMM | ||||
| @@ -135,26 +156,6 @@ void NAME(char *SIDE, char *UPLO, | |||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| FLOAT *sa, *sb; | FLOAT *sa, *sb; | ||||
| #ifdef SMP | |||||
| #ifndef COMPLEX | |||||
| #ifdef XDOUBLE | |||||
| int mode = BLAS_XDOUBLE | BLAS_REAL; | |||||
| #elif defined(DOUBLE) | |||||
| int mode = BLAS_DOUBLE | BLAS_REAL; | |||||
| #else | |||||
| int mode = BLAS_SINGLE | BLAS_REAL; | |||||
| #endif | |||||
| #else | |||||
| #ifdef XDOUBLE | |||||
| int mode = BLAS_XDOUBLE | BLAS_COMPLEX; | |||||
| #elif defined(DOUBLE) | |||||
| int mode = BLAS_DOUBLE | BLAS_COMPLEX; | |||||
| #else | |||||
| int mode = BLAS_SINGLE | BLAS_COMPLEX; | |||||
| #endif | |||||
| #endif | |||||
| #endif | |||||
| #if defined(SMP) && !defined(NO_AFFINITY) | #if defined(SMP) && !defined(NO_AFFINITY) | ||||
| int nodes; | int nodes; | ||||
| #endif | #endif | ||||
| @@ -246,26 +247,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, | |||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| FLOAT *sa, *sb; | FLOAT *sa, *sb; | ||||
| #ifdef SMP | |||||
| #ifndef COMPLEX | |||||
| #ifdef XDOUBLE | |||||
| int mode = BLAS_XDOUBLE | BLAS_REAL; | |||||
| #elif defined(DOUBLE) | |||||
| int mode = BLAS_DOUBLE | BLAS_REAL; | |||||
| #else | |||||
| int mode = BLAS_SINGLE | BLAS_REAL; | |||||
| #endif | |||||
| #else | |||||
| #ifdef XDOUBLE | |||||
| int mode = BLAS_XDOUBLE | BLAS_COMPLEX; | |||||
| #elif defined(DOUBLE) | |||||
| int mode = BLAS_DOUBLE | BLAS_COMPLEX; | |||||
| #else | |||||
| int mode = BLAS_SINGLE | BLAS_COMPLEX; | |||||
| #endif | |||||
| #endif | |||||
| #endif | |||||
| #if defined(SMP) && !defined(NO_AFFINITY) | #if defined(SMP) && !defined(NO_AFFINITY) | ||||
| int nodes; | int nodes; | ||||
| #endif | #endif | ||||
| @@ -407,7 +388,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, | |||||
| args.nthreads /= nodes; | args.nthreads /= nodes; | ||||
| gemm_thread_mn(mode, &args, NULL, NULL, | |||||
| gemm_thread_mn(MODE, &args, NULL, NULL, | |||||
| symm[4 | (side << 1) | uplo ], sa, sb, nodes); | symm[4 | (side << 1) | uplo ], sa, sb, nodes); | ||||
| } else { | } else { | ||||
| @@ -419,7 +400,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, | |||||
| #else | #else | ||||
| GEMM_THREAD(mode, &args, NULL, NULL, symm[(side << 1) | uplo ], sa, sb, args.nthreads); | |||||
| GEMM_THREAD(MODE, &args, NULL, NULL, symm[(side << 1) | uplo ], sa, sb, args.nthreads); | |||||
| #endif | #endif | ||||
| @@ -116,7 +116,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, | |||||
| void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *a, blasint lda) { | void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *a, blasint lda) { | ||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| int trans, uplo; | |||||
| int uplo; | |||||
| blasint info; | blasint info; | ||||
| #ifdef SMP | #ifdef SMP | ||||
| int nthreads; | int nthreads; | ||||
| @@ -124,7 +124,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, | |||||
| PRINT_DEBUG_CNAME; | PRINT_DEBUG_CNAME; | ||||
| trans = -1; | |||||
| uplo = -1; | uplo = -1; | ||||
| info = 0; | info = 0; | ||||
| @@ -118,7 +118,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, | |||||
| void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *y, blasint incy, FLOAT *a, blasint lda) { | void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *y, blasint incy, FLOAT *a, blasint lda) { | ||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| int trans, uplo; | |||||
| int uplo; | |||||
| blasint info; | blasint info; | ||||
| #ifdef SMP | #ifdef SMP | ||||
| int nthreads; | int nthreads; | ||||
| @@ -126,7 +126,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, | |||||
| PRINT_DEBUG_CNAME; | PRINT_DEBUG_CNAME; | ||||
| trans = -1; | |||||
| uplo = -1; | uplo = -1; | ||||
| info = 0; | info = 0; | ||||
| @@ -117,7 +117,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT *ALPHA | |||||
| FLOAT beta_i = BETA[1]; | FLOAT beta_i = BETA[1]; | ||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| int trans, uplo; | |||||
| int uplo; | |||||
| blasint info; | blasint info; | ||||
| #ifdef SMP | #ifdef SMP | ||||
| int nthreads; | int nthreads; | ||||
| @@ -135,7 +135,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT *ALPHA | |||||
| PRINT_DEBUG_CNAME; | PRINT_DEBUG_CNAME; | ||||
| trans = -1; | |||||
| uplo = -1; | uplo = -1; | ||||
| info = 0; | info = 0; | ||||
| @@ -116,7 +116,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, | |||||
| void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *a, blasint lda) { | void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *a, blasint lda) { | ||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| int trans, uplo; | |||||
| int uplo; | |||||
| blasint info; | blasint info; | ||||
| #ifdef SMP | #ifdef SMP | ||||
| int nthreads; | int nthreads; | ||||
| @@ -124,7 +124,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, | |||||
| PRINT_DEBUG_CNAME; | PRINT_DEBUG_CNAME; | ||||
| trans = -1; | |||||
| uplo = -1; | uplo = -1; | ||||
| info = 0; | info = 0; | ||||
| @@ -121,7 +121,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT *ALPHA | |||||
| FLOAT alpha_r = ALPHA[0]; | FLOAT alpha_r = ALPHA[0]; | ||||
| FLOAT alpha_i = ALPHA[1]; | FLOAT alpha_i = ALPHA[1]; | ||||
| FLOAT *buffer; | FLOAT *buffer; | ||||
| int trans, uplo; | |||||
| int uplo; | |||||
| blasint info; | blasint info; | ||||
| #ifdef SMP | #ifdef SMP | ||||
| int nthreads; | int nthreads; | ||||
| @@ -129,7 +129,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT *ALPHA | |||||
| PRINT_DEBUG_CNAME; | PRINT_DEBUG_CNAME; | ||||
| trans = -1; | |||||
| uplo = -1; | uplo = -1; | ||||
| info = 0; | info = 0; | ||||