Browse Source

Fix expectation values for CblasRowMajor order

tags/v0.3.29
Martin Kroeker GitHub 1 year ago
parent
commit
550bc77832
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
4 changed files with 74 additions and 1 deletions
  1. +22
    -0
      utest/test_extensions/test_cgemmt.c
  2. +15
    -0
      utest/test_extensions/test_dgemmt.c
  3. +15
    -0
      utest/test_extensions/test_sgemmt.c
  4. +22
    -1
      utest/test_extensions/test_zgemmt.c

+ 22
- 0
utest/test_extensions/test_cgemmt.c View File

@@ -81,6 +81,28 @@ static void cgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra

ldc *= 2;

#ifndef NO_CBLAS
if (order == CblasRowMajor) {
if (uplo == 'U' || uplo == CblasUpper)
{
for (i = 0; i < m; i++)
for (j = i * 2; j < m * 2; j+=2){
data_cgemmt.c_verify[i * ldc + j] =
data_cgemmt.c_gemm[i * ldc + j];
data_cgemmt.c_verify[i * ldc + j + 1] =
data_cgemmt.c_gemm[i * ldc + j + 1];
}
} else {
for (i = 0; i < m; i++)
for (j = 0; j <= i * 2; j+=2){
data_cgemmt.c_verify[i * ldc + j] =
data_cgemmt.c_gemm[i * ldc + j];
data_cgemmt.c_verify[i * ldc + j + 1] =
data_cgemmt.c_gemm[i * ldc + j + 1];
}
}
} else
#endif
if (uplo == 'L' || uplo == CblasLower)
{
for (i = 0; i < m; i++)


+ 15
- 0
utest/test_extensions/test_dgemmt.c View File

@@ -77,6 +77,21 @@ static void dgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
else
cblas_dgemm(order, transa, transb, m, m, k, alpha, data_dgemmt.a_test, lda,
data_dgemmt.b_test, ldb, beta, data_dgemmt.c_gemm, ldc);

if (order == CblasRowMajor) {
if (uplo == 'U' || uplo == CblasUpper)
{
for (i = 0; i < m; i++)
for (j = i; j < m; j++)
data_dgemmt.c_verify[i * ldc + j] =
data_dgemmt.c_gemm[i * ldc + j];
} else {
for (i = 0; i < m; i++)
for (j = 0; j <= i; j++)
data_dgemmt.c_verify[i * ldc + j] =
data_dgemmt.c_gemm[i * ldc + j];
}
}else
#endif

if (uplo == 'L' || uplo == CblasLower)


+ 15
- 0
utest/test_extensions/test_sgemmt.c View File

@@ -77,6 +77,21 @@ static void sgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
else
cblas_sgemm(order, transa, transb, m, m, k, alpha, data_sgemmt.a_test, lda,
data_sgemmt.b_test, ldb, beta, data_sgemmt.c_gemm, ldc);
if (order == CblasRowMajor) {
if (uplo == 'U' || uplo == CblasUpper)
{
for (i = 0; i < m; i++)
for (j = i; j < m; j++)
data_sgemmt.c_verify[i * ldc + j] =
data_sgemmt.c_gemm[i * ldc + j];
} else {
for (i = 0; i < m; i++)
for (j = 0; j <= i; j++)
data_sgemmt.c_verify[i * ldc + j] =
data_sgemmt.c_gemm[i * ldc + j];
}

} else
#endif

if (uplo == 'L' || uplo == CblasLower)


+ 22
- 1
utest/test_extensions/test_zgemmt.c View File

@@ -80,7 +80,28 @@ static void zgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
#endif

ldc *= 2;

#ifndef NO_CBLAS
if (order == CblasRowMajor) {
if (uplo == 'U' || uplo == CblasUpper)
{
for (i = 0; i < m; i++)
for (j = i * 2; j < m * 2; j+=2){
data_zgemmt.c_verify[i * ldc + j] =
data_zgemmt.c_gemm[i * ldc + j];
data_zgemmt.c_verify[i * ldc + j + 1] =
data_zgemmt.c_gemm[i * ldc + j + 1];
}
} else {
for (i = 0; i < m; i++)
for (j = 0; j <= i * 2; j+=2){
data_zgemmt.c_verify[i * ldc + j] =
data_zgemmt.c_gemm[i * ldc + j];
data_zgemmt.c_verify[i * ldc + j + 1] =
data_zgemmt.c_gemm[i * ldc + j + 1];
}
}
}else
#endif
if (uplo == 'L' || uplo == CblasLower)
{
for (i = 0; i < m; i++)


Loading…
Cancel
Save