Browse Source

Common code.

tags/v0.3.29
Chip Kerchner 1 year ago
parent
commit
d6bb8dcfd1
1 changed files with 10 additions and 16 deletions
  1. +10
    -16
      kernel/power/sbgemv_common.c

+ 10
- 16
kernel/power/sbgemv_common.c View File

@@ -122,10 +122,7 @@ FORCEINLINE void copy_x(BLASLONG n, IFLOAT *src, IFLOAT *dest, BLASLONG inc_src)
FORCEINLINE void copy_y_beta(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_src, FLOAT beta)
{
if (beta == (FLOAT)0) {
for (BLASLONG i = 0; i < n; i++) {
*dest++ = (FLOAT)0;
src += inc_src;
}
memset(dest, 0, n * sizeof(FLOAT));
} else if (beta == (FLOAT)1) {
for (BLASLONG i = 0; i < n; i++) {
*dest++ = *src;
@@ -139,13 +136,18 @@ FORCEINLINE void copy_y_beta(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_s
}
}

FORCEINLINE void move_y(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_dest)
{
for (BLASLONG i = 0; i < n; i++) {
*dest = *src++;
dest += inc_dest;
}
}

FORCEINLINE void copy_y(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_src, FLOAT beta)
{
if (beta == (FLOAT)0) {
for (BLASLONG i = 0; i < n; i++) {
*dest = *src++;
dest += inc_src;
}
move_y(n, src, dest, inc_src);
} else if (beta == (FLOAT)1) {
for (BLASLONG i = 0; i < n; i++) {
*dest += *src++;
@@ -159,14 +161,6 @@ FORCEINLINE void copy_y(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_src, F
}
}

FORCEINLINE void move_y(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_dest)
{
for (BLASLONG i = 0; i < n; i++) {
*dest = *src++;
dest += inc_dest;
}
}

static void BF16GEMV_N_beta(BLASLONG n, FLOAT *output_vector, FLOAT *input_vector, FLOAT beta)
{
if (beta == (FLOAT)0) {


Loading…
Cancel
Save