Common code.

This commit is contained in:
Chip Kerchner 2024-10-06 14:13:43 -05:00
parent 9ac0fb0111
commit d6bb8dcfd1
1 changed files with 10 additions and 16 deletions

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) FORCEINLINE void copy_y_beta(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_src, FLOAT beta)
{ {
if (beta == (FLOAT)0) { if (beta == (FLOAT)0) {
for (BLASLONG i = 0; i < n; i++) { memset(dest, 0, n * sizeof(FLOAT));
*dest++ = (FLOAT)0;
src += inc_src;
}
} else if (beta == (FLOAT)1) { } else if (beta == (FLOAT)1) {
for (BLASLONG i = 0; i < n; i++) { for (BLASLONG i = 0; i < n; i++) {
*dest++ = *src; *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) FORCEINLINE void copy_y(BLASLONG n, FLOAT *src, FLOAT *dest, BLASLONG inc_src, FLOAT beta)
{ {
if (beta == (FLOAT)0) { if (beta == (FLOAT)0) {
for (BLASLONG i = 0; i < n; i++) { move_y(n, src, dest, inc_src);
*dest = *src++;
dest += inc_src;
}
} else if (beta == (FLOAT)1) { } else if (beta == (FLOAT)1) {
for (BLASLONG i = 0; i < n; i++) { for (BLASLONG i = 0; i < n; i++) {
*dest += *src++; *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) static void BF16GEMV_N_beta(BLASLONG n, FLOAT *output_vector, FLOAT *input_vector, FLOAT beta)
{ {
if (beta == (FLOAT)0) { if (beta == (FLOAT)0) {