Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not use symbol aliases on macOS. #856

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 28 additions & 12 deletions frame/compat/cblas/src/cblas.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ BLIS_EXPORT_BLAS f77_int cblas_izamax(f77_int N, const void *X, f77_int incX);
* ===========================================================================
*/

/*
/*
* Routines with standard 4 prefixes (s, d, c, z)
*/
void BLIS_EXPORT_BLAS cblas_sswap(f77_int N, float *X, f77_int incX,
Expand Down Expand Up @@ -119,7 +119,7 @@ void BLIS_EXPORT_BLAS cblas_zaxpy(f77_int N, const void *alpha, const void *X,
f77_int incX, void *Y, f77_int incY);


/*
/*
* Routines with S and D prefix only
*/
void BLIS_EXPORT_BLAS cblas_srotg(float *a, float *b, float *c, float *s);
Expand All @@ -137,7 +137,7 @@ void BLIS_EXPORT_BLAS cblas_drotm(f77_int N, double *X, f77_int incX,
double *Y, f77_int incY, const double *P);


/*
/*
* Routines with S D C Z CS and ZD prefixes
*/
void BLIS_EXPORT_BLAS cblas_sscal(f77_int N, float alpha, float *X, f77_int incX);
Expand All @@ -153,7 +153,7 @@ void BLIS_EXPORT_BLAS cblas_zdscal(f77_int N, double alpha, void *X, f77_int inc
* ===========================================================================
*/

/*
/*
* Routines with standard 4 prefixes (S, D, C, Z)
*/
void BLIS_EXPORT_BLAS cblas_sgemv(enum CBLAS_ORDER order,
Expand Down Expand Up @@ -289,7 +289,7 @@ void BLIS_EXPORT_BLAS cblas_ztpsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,
f77_int N, const void *Ap, void *X, f77_int incX);


/*
/*
* Routines with S and D prefixes only
*/
void BLIS_EXPORT_BLAS cblas_ssymv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,
Expand Down Expand Up @@ -351,7 +351,7 @@ void BLIS_EXPORT_BLAS cblas_dspr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,
f77_int incX, const double *Y, f77_int incY, double *A);


/*
/*
* Routines with C and Z prefixes only
*/
void BLIS_EXPORT_BLAS cblas_chemv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,
Expand Down Expand Up @@ -422,7 +422,7 @@ void BLIS_EXPORT_BLAS cblas_zhpr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,
* ===========================================================================
*/

/*
/*
* Routines with standard 4 prefixes (S, D, C, Z)
*/
void BLIS_EXPORT_BLAS cblas_sgemm(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA,
Expand Down Expand Up @@ -546,7 +546,7 @@ void BLIS_EXPORT_BLAS cblas_ztrsm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side,
void *B, f77_int ldb);


/*
/*
* Routines with prefixes C and Z only
*/
void BLIS_EXPORT_BLAS cblas_chemm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side,
Expand Down Expand Up @@ -608,25 +608,41 @@ void BLIS_EXPORT_BLAS cblas_sgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
f77_int N, f77_int K, float alpha, const float *A,
f77_int lda, const float *B, f77_int ldb,
float beta, float *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_sgemmtr(); // alias to cblas_sgemmt
void BLIS_EXPORT_BLAS cblas_sgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, float alpha, const float *A,
f77_int lda, const float *B, f77_int ldb,
float beta, float *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, double alpha, const double *A,
f77_int lda, const double *B, f77_int ldb,
double beta, double *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_dgemmtr(); // alias to cblas_dgemmt
void BLIS_EXPORT_BLAS cblas_dgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, double alpha, const double *A,
f77_int lda, const double *B, f77_int ldb,
double beta, double *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, const void *alpha, const void *A,
f77_int lda, const void *B, f77_int ldb,
const void *beta, void *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_cgemmtr(); // alias to cblas_cgemmt
void BLIS_EXPORT_BLAS cblas_cgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, const void *alpha, const void *A,
f77_int lda, const void *B, f77_int ldb,
const void *beta, void *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_zgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, const void *alpha, const void *A,
f77_int lda, const void *B, f77_int ldb,
const void *beta, void *C, f77_int ldc);
void BLIS_EXPORT_BLAS cblas_zgemmtr(); // alias to cblas_zgemmt
void BLIS_EXPORT_BLAS cblas_zgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB,
f77_int N, f77_int K, const void *alpha, const void *A,
f77_int lda, const void *B, f77_int ldb,
const void *beta, void *C, f77_int ldc);

// -- Batch APIs --

Expand Down
35 changes: 23 additions & 12 deletions frame/compat/cblas/src/extra/cblas_cgemmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
f77_int lda, const void *B, f77_int ldb,
const void *beta, void *C, f77_int ldc)
{
char UL, TA, TB;
char UL, TA, TB;
#ifdef F77_CHAR
F77_CHAR F77_UL, F77_TA, F77_TB;
#else
#define F77_UL &UL
#define F77_TA &TA
#define F77_TB &TB
#define F77_UL &UL
#define F77_TA &TA
#define F77_TB &TB
#endif

#ifdef F77_INT
Expand All @@ -78,7 +78,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,

if( Uplo == CblasUpper) UL='U';
else if ( Uplo == CblasLower ) UL='L';
else
else
{
cblas_xerbla(2, "cblas_cgemmt","Illegal Uplo setting, %d\n", Uplo);
CBLAS_CallFromC = 0;
Expand All @@ -89,7 +89,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransA == CblasTrans) TA='T';
else if ( TransA == CblasConjTrans ) TA='C';
else if ( TransA == CblasNoTrans ) TA='N';
else
else
{
cblas_xerbla(3, "cblas_cgemmt","Illegal TransA setting, %d\n", TransA);
CBLAS_CallFromC = 0;
Expand All @@ -100,7 +100,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransB == CblasTrans) TB='T';
else if ( TransB == CblasConjTrans ) TB='C';
else if ( TransB == CblasNoTrans ) TB='N';
else
else
{
cblas_xerbla(4, "cblas_cgemmt","Illegal TransB setting, %d\n", TransB);
CBLAS_CallFromC = 0;
Expand All @@ -121,7 +121,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
RowMajorStrg = 1;
if( Uplo == CblasUpper) UL='L';
else if ( Uplo == CblasLower ) UL='U';
else
else
{
cblas_xerbla(2, "cblas_cgemmt","Illegal Uplo setting, %d\n", Uplo);
CBLAS_CallFromC = 0;
Expand All @@ -132,7 +132,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransA == CblasTrans) TB='T';
else if ( TransA == CblasConjTrans ) TB='C';
else if ( TransA == CblasNoTrans ) TB='N';
else
else
{
cblas_xerbla(3, "cblas_cgemmt","Illegal TransA setting, %d\n", TransA);
CBLAS_CallFromC = 0;
Expand All @@ -142,7 +142,7 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransB == CblasTrans) TA='T';
else if ( TransB == CblasConjTrans ) TA='C';
else if ( TransB == CblasNoTrans ) TA='N';
else
else
{
cblas_xerbla(4, "cblas_cgemmt","Illegal TransB setting, %d\n", TransB);
CBLAS_CallFromC = 0;
Expand All @@ -157,12 +157,23 @@ void cblas_cgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,

F77_cgemmt(F77_UL, F77_TA, F77_TB, &F77_M, &F77_K, (scomplex*)alpha, (scomplex*)B,
&F77_ldb, (scomplex*)A, &F77_lda, (scomplex*)beta, (scomplex*)C, &F77_ldc);
}
}
else cblas_xerbla(1, "cblas_cgemmt", "Illegal Order setting, %d\n", Order);
CBLAS_CallFromC = 0;
RowMajorStrg = 0;
return;
}

void cblas_cgemmtr() __attribute__((alias("cblas_cgemmt")));
void cblas_cgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA,
enum CBLAS_TRANSPOSE TransB, f77_int M, f77_int K,
const void* alpha, const void *A,
f77_int lda, const void *B, f77_int ldb,
const void* beta, void *C, f77_int ldc)
#ifdef BLIS_OS_OSX
{ cblas_cgemmt(Order, Uplo, TransA, TransB, M, K, alpha, A, lda, B, ldb, beta, C, ldc); }
#else
__attribute__((alias("cblas_cgemmt")));
#endif

#endif
35 changes: 23 additions & 12 deletions frame/compat/cblas/src/extra/cblas_dgemmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
f77_int lda, const double *B, f77_int ldb,
double beta, double *C, f77_int ldc)
{
char UL, TA, TB;
char UL, TA, TB;
#ifdef F77_CHAR
F77_CHAR F77_UL, F77_TA, F77_TB;
#else
#define F77_UL &UL
#define F77_TA &TA
#define F77_TB &TB
#define F77_UL &UL
#define F77_TA &TA
#define F77_TB &TB
#endif

#ifdef F77_INT
Expand All @@ -78,7 +78,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,

if( Uplo == CblasUpper) UL='U';
else if ( Uplo == CblasLower ) UL='L';
else
else
{
cblas_xerbla(2, "cblas_dgemmt","Illegal Uplo setting, %d\n", Uplo);
CBLAS_CallFromC = 0;
Expand All @@ -89,7 +89,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransA == CblasTrans) TA='T';
else if ( TransA == CblasConjTrans ) TA='C';
else if ( TransA == CblasNoTrans ) TA='N';
else
else
{
cblas_xerbla(3, "cblas_dgemmt","Illegal TransA setting, %d\n", TransA);
CBLAS_CallFromC = 0;
Expand All @@ -100,7 +100,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransB == CblasTrans) TB='T';
else if ( TransB == CblasConjTrans ) TB='C';
else if ( TransB == CblasNoTrans ) TB='N';
else
else
{
cblas_xerbla(4, "cblas_dgemmt","Illegal TransB setting, %d\n", TransB);
CBLAS_CallFromC = 0;
Expand All @@ -121,7 +121,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
RowMajorStrg = 1;
if( Uplo == CblasUpper) UL='L';
else if ( Uplo == CblasLower ) UL='U';
else
else
{
cblas_xerbla(2, "cblas_dgemmt","Illegal Uplo setting, %d\n", Uplo);
CBLAS_CallFromC = 0;
Expand All @@ -132,7 +132,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransA == CblasTrans) TB='T';
else if ( TransA == CblasConjTrans ) TB='C';
else if ( TransA == CblasNoTrans ) TB='N';
else
else
{
cblas_xerbla(3, "cblas_dgemmt","Illegal TransA setting, %d\n", TransA);
CBLAS_CallFromC = 0;
Expand All @@ -142,7 +142,7 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
if(TransB == CblasTrans) TA='T';
else if ( TransB == CblasConjTrans ) TA='C';
else if ( TransB == CblasNoTrans ) TA='N';
else
else
{
cblas_xerbla(4, "cblas_dgemmt","Illegal TransB setting, %d\n", TransB);
CBLAS_CallFromC = 0;
Expand All @@ -157,12 +157,23 @@ void cblas_dgemmt(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,

F77_dgemmt(F77_UL, F77_TA, F77_TB, &F77_M, &F77_K, &alpha, B,
&F77_ldb, A, &F77_lda, &beta, C, &F77_ldc);
}
}
else cblas_xerbla(1, "cblas_dgemmt", "Illegal Order setting, %d\n", Order);
CBLAS_CallFromC = 0;
RowMajorStrg = 0;
return;
}

void cblas_dgemmtr() __attribute__((alias("cblas_dgemmt")));
void cblas_dgemmtr(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo,
enum CBLAS_TRANSPOSE TransA,
enum CBLAS_TRANSPOSE TransB, f77_int M, f77_int K,
double alpha, const double *A,
f77_int lda, const double *B, f77_int ldb,
double beta, double *C, f77_int ldc)
#ifdef BLIS_OS_OSX
{ cblas_dgemmt(Order, Uplo, TransA, TransB, M, K, alpha, A, lda, B, ldb, beta, C, ldc); }
#else
__attribute__((alias("cblas_dgemmt")));
#endif

#endif
Loading