Skip to content

Commit a21b2fa

Browse files
authored
Merge pull request #4452 from kseniyazaytseva/riscv-generic
Fix BLAS, BLAS-like functions and Generic RISC-V kernels
2 parents 10c22f4 + f89e003 commit a21b2fa

File tree

18 files changed

+206
-124
lines changed

18 files changed

+206
-124
lines changed

cblas.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,14 @@ void cblas_zgemm(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLA
289289
void cblas_zgemm3m(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,
290290
OPENBLAS_CONST void *alpha, OPENBLAS_CONST void *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST void *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST void *beta, void *C, OPENBLAS_CONST blasint ldc);
291291

292+
void cblas_sgemmt(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_UPLO Uplo, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint K,
293+
OPENBLAS_CONST float alpha, OPENBLAS_CONST float *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST float *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST float beta, float *C, OPENBLAS_CONST blasint ldc);
294+
void cblas_dgemmt(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_UPLO Uplo, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint K,
295+
OPENBLAS_CONST double alpha, OPENBLAS_CONST double *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST double *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST double beta, double *C, OPENBLAS_CONST blasint ldc);
296+
void cblas_cgemmt(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_UPLO Uplo, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint K,
297+
OPENBLAS_CONST void *alpha, OPENBLAS_CONST void *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST void *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST void *beta, void *C, OPENBLAS_CONST blasint ldc);
298+
void cblas_zgemmt(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_UPLO Uplo, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint K,
299+
OPENBLAS_CONST void *alpha, OPENBLAS_CONST void *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST void *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST void *beta, void *C, OPENBLAS_CONST blasint ldc);
292300

293301
void cblas_ssymm(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_SIDE Side, OPENBLAS_CONST enum CBLAS_UPLO Uplo, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N,
294302
OPENBLAS_CONST float alpha, OPENBLAS_CONST float *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST float *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST float beta, float *C, OPENBLAS_CONST blasint ldc);

common_interface.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,15 @@ void BLASFUNC(zgemm3m)(char *, char *, blasint *, blasint *, blasint *, double *
498498
void BLASFUNC(xgemm3m)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
499499
xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
500500

501+
void BLASFUNC(sgemmt)(char*, char *, char *, blasint *, blasint *, float *,
502+
float *, blasint *, float *, blasint *, float *, float *, blasint *);
503+
void BLASFUNC(dgemmt)(char*, char *, char *, blasint *, blasint *, double *,
504+
double *, blasint *, double *, blasint *, double *, double *, blasint *);
505+
void BLASFUNC(cgemmt)(char*, char *, char *, blasint *, blasint *, float *,
506+
float *, blasint *, float *, blasint *, float *, float *, blasint *);
507+
void BLASFUNC(zgemmt)(char*, char *, char *, blasint *, blasint *, double *,
508+
double *, blasint *, double *, blasint *, double *, double *, blasint *);
509+
501510
int BLASFUNC(sge2mm)(char *, char *, char *, blasint *, blasint *,
502511
float *, float *, blasint *, float *, blasint *,
503512
float *, float *, blasint *);

ctest/c_cblat1.f

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ SUBROUTINE CHECK1(SFAC)
9696
INTEGER ICAMAXTEST
9797
EXTERNAL SCASUMTEST, SCNRM2TEST, ICAMAXTEST
9898
* .. External Subroutines ..
99-
EXTERNAL CSCAL, CSSCALTEST, CTEST, ITEST1, STEST1
99+
EXTERNAL CSCALTEST, CSSCALTEST, CTEST, ITEST1, STEST1
100100
* .. Intrinsic Functions ..
101101
INTRINSIC MAX
102102
* .. Common blocks ..
@@ -214,8 +214,8 @@ SUBROUTINE CHECK1(SFAC)
214214
CALL STEST1(SCASUMTEST(N,CX,INCX),STRUE4(NP1),
215215
+ STRUE4(NP1),SFAC)
216216
ELSE IF (ICASE.EQ.8) THEN
217-
* .. CSCAL ..
218-
CALL CSCAL(N,CA,CX,INCX)
217+
* .. CSCALTEST ..
218+
CALL CSCALTEST(N,CA,CX,INCX)
219219
CALL CTEST(LEN,CX,CTRUE5(1,NP1,INCX),CTRUE5(1,NP1,INCX),
220220
+ SFAC)
221221
ELSE IF (ICASE.EQ.9) THEN
@@ -236,14 +236,14 @@ SUBROUTINE CHECK1(SFAC)
236236
*
237237
INCX = 1
238238
IF (ICASE.EQ.8) THEN
239-
* CSCAL
239+
* CSCALTEST
240240
* Add a test for alpha equal to zero.
241241
CA = (0.0E0,0.0E0)
242242
DO 80 I = 1, 5
243243
MWPCT(I) = (0.0E0,0.0E0)
244244
MWPCS(I) = (1.0E0,1.0E0)
245245
80 CONTINUE
246-
CALL CSCAL(5,CA,CX,INCX)
246+
CALL CSCALTEST(5,CA,CX,INCX)
247247
CALL CTEST(5,CX,MWPCT,MWPCS,SFAC)
248248
ELSE IF (ICASE.EQ.9) THEN
249249
* CSSCALTEST

ctest/c_cblat1c.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ real *sfac;
685685
static integer i__;
686686
extern /* Subroutine */ int ctest_();
687687
static complex mwpcs[5], mwpct[5];
688-
extern /* Subroutine */ int itest1_(), stest1_();
688+
extern /* Subroutine */ int cscaltest_(), itest1_(), stest1_();
689689
static complex cx[8];
690690
extern real scnrm2test_();
691691
static integer np1;
@@ -727,7 +727,7 @@ real *sfac;
727727
stest1_(&r__1, &strue4[np1 - 1], &strue4[np1 - 1], sfac);
728728
} else if (combla_1.icase == 8) {
729729
/* .. CSCAL .. */
730-
cscal_(&combla_1.n, &ca, cx, &combla_1.incx);
730+
cscaltest_(&combla_1.n, &ca, cx, &combla_1.incx);
731731
ctest_(&len, cx, &ctrue5[(np1 + combla_1.incx * 5 << 3) - 48],
732732
&ctrue5[(np1 + combla_1.incx * 5 << 3) - 48], sfac);
733733
} else if (combla_1.icase == 9) {
@@ -761,7 +761,7 @@ real *sfac;
761761
mwpcs[i__1].r = (float)1., mwpcs[i__1].i = (float)1.;
762762
/* L80: */
763763
}
764-
cscal_(&c__5, &ca, cx, &combla_1.incx);
764+
cscaltest_(&c__5, &ca, cx, &combla_1.incx);
765765
ctest_(&c__5, cx, mwpct, mwpcs, sfac);
766766
} else if (combla_1.icase == 9) {
767767
/* CSSCALTEST */

0 commit comments

Comments
 (0)