Browse Source

Fix thinko in skylake beta handling

casting ints is cheaper but it has a rounding, not memory casing effect, resulting in
invalid outcome
tags/v0.3.5
Arjan van de Ven 6 years ago
parent
commit
795285c587
2 changed files with 2 additions and 2 deletions
  1. +1
    -1
      kernel/x86_64/dgemm_beta_skylakex.c
  2. +1
    -1
      kernel/x86_64/sgemm_beta_skylakex.c

+ 1
- 1
kernel/x86_64/dgemm_beta_skylakex.c View File

@@ -50,7 +50,7 @@ int CNAME(BLASLONG m, BLASLONG n, BLASLONG dummy1, FLOAT beta,
FLOAT ctemp5, ctemp6, ctemp7, ctemp8;

/* fast path.. just zero the whole matrix */
if (m == ldc && (unsigned long)beta == (unsigned long)ZERO) {
if (m == ldc && beta == ZERO) {
memset(c, 0, m * n * sizeof(FLOAT));
return 0;
}


+ 1
- 1
kernel/x86_64/sgemm_beta_skylakex.c View File

@@ -50,7 +50,7 @@ int CNAME(BLASLONG m, BLASLONG n, BLASLONG dummy1, FLOAT beta,
FLOAT ctemp5, ctemp6, ctemp7, ctemp8;

/* fast path.. just zero the whole matrix */
if (m == ldc && (unsigned long)beta == (unsigned long)ZERO) {
if (m == ldc && beta == ZERO) {
memset(c, 0, m * n * sizeof(FLOAT));
return 0;
}


Loading…
Cancel
Save