Révision 147 BLAS/xGEMM/xGEMM.c
xGEMM.c (revision 147) | ||
---|---|---|
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 |
Formats disponibles : Unified diff