30 |
30 |
#include "fortran_common.h"
|
31 |
31 |
#include "fortran_thunking.h"
|
32 |
32 |
#elif FBLAS
|
|
33 |
#include <cblas.h>
|
33 |
34 |
#include <cblas_f77.h>
|
34 |
35 |
#elif GSL
|
35 |
36 |
#include <gsl_cblas.h>
|
... | ... | |
62 |
63 |
|
63 |
64 |
#ifdef DOUBLE
|
64 |
65 |
|
65 |
|
void dgemm_(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT,
|
|
66 |
void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT,
|
66 |
67 |
const double *, FINT, const double *, double *, FINT);
|
67 |
68 |
|
68 |
69 |
#else
|
69 |
70 |
|
70 |
|
void sgemm_(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT,
|
|
71 |
void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT,
|
71 |
72 |
const float *, FINT, const float *, float *, FINT);
|
72 |
73 |
|
73 |
74 |
#endif
|
... | ... | |
506 |
507 |
|
507 |
508 |
for (i=0;i<RUNS;i++)
|
508 |
509 |
{
|
509 |
|
dgemm_(&transa,&transa,&dim,&dim,&dim,&alpha,B,&dim,A,&dim,&beta,C,&dim);
|
510 |
|
dgemm_(&transb,&transb,&dim,&dim,&dim,&alpha,A,&dim,B,&dim,&beta,D,&dim);
|
|
510 |
F77_dgemm(&transa,&transa,&dim,&dim,&dim,&alpha,B,&dim,A,&dim,&beta,C,&dim);
|
|
511 |
F77_dgemm(&transb,&transb,&dim,&dim,&dim,&alpha,A,&dim,B,&dim,&beta,D,&dim);
|
511 |
512 |
}
|
512 |
513 |
|
513 |
514 |
#else
|
514 |
515 |
|
515 |
516 |
for (i=0;i<RUNS;i++)
|
516 |
517 |
{
|
517 |
|
sgemm_(&transa,&transa,&dim,&dim,&dim,&alpha,B,&dim,A,&dim,&beta,C,&dim);
|
518 |
|
sgemm_(&transb,&transb,&dim,&dim,&dim,&alpha,A,&dim,B,&dim,&beta,D,&dim);
|
|
518 |
F77_sgemm(&transa,&transa,&dim,&dim,&dim,&alpha,B,&dim,A,&dim,&beta,C,&dim);
|
|
519 |
F77_sgemm(&transb,&transb,&dim,&dim,&dim,&alpha,A,&dim,B,&dim,&beta,D,&dim);
|
519 |
520 |
}
|
520 |
521 |
|
521 |
522 |
#endif
|
... | ... | |
598 |
599 |
dim,dim,dim,alpha,A,dim,B,dim,beta,C,dim);
|
599 |
600 |
cblas_dgemm(CblasRowMajor,CblasTrans,CblasTrans,
|
600 |
601 |
dim,dim,dim,alpha,B,dim,A,dim,beta,D,dim);
|
601 |
|
/* dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, */
|
602 |
|
/* dim,dim,dim,alpha,A,dim,B,dim,beta,C,dim); */
|
603 |
|
/* dgemm(CblasRowMajor,CblasTrans,CblasTrans, */
|
604 |
|
/* dim,dim,dim,alpha,B,dim,A,dim,beta,D,dim); */
|
605 |
602 |
}
|
606 |
603 |
|
607 |
604 |
#else
|
... | ... | |
612 |
609 |
dim,dim,dim,alpha,A,dim,B,dim,beta,C,dim);
|
613 |
610 |
cblas_sgemm(CblasRowMajor,CblasTrans,CblasTrans,
|
614 |
611 |
dim,dim,dim,alpha,B,dim,A,dim,beta,D,dim);
|
615 |
|
/* sgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, */
|
616 |
|
/* dim,dim,dim,alpha,A,dim,B,dim,beta,C,dim); */
|
617 |
|
/* sgemm(CblasRowMajor,CblasTrans,CblasTrans, */
|
618 |
|
/* dim,dim,dim,alpha,B,dim,A,dim,beta,D,dim); */
|
619 |
612 |
}
|
620 |
613 |
|
621 |
614 |
#endif
|