PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
core_sgeadd.c File Reference
#include "common.h"
Include dependency graph for core_sgeadd.c:

Go to the source code of this file.

Functions

void CORE_sgeadd (int M, int N, float alpha, float *A, int LDA, float *B, int LDB)
void QUARK_CORE_sgeadd (Quark *quark, Quark_Task_Flags *task_flags, int m, int n, int nb, float alpha, float *A, int lda, float *B, int ldb)
void CORE_sgeadd_quark (Quark *quark)

Detailed Description

PLASMA core_blas kernel PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver

Version:
2.4.5
Author:
Mathieu Faverge
Date:
2010-11-15 s Tue Nov 22 14:35:19 2011

Definition in file core_sgeadd.c.


Function Documentation

void CORE_sgeadd ( int  M,
int  N,
float  alpha,
float *  A,
int  LDA,
float *  B,
int  LDB 
)

Definition at line 26 of file core_sgeadd.c.

References cblas_saxpy().

{
int j;
if (M == LDA && M == LDB)
cblas_saxpy(M*N, (alpha), A, 1, B, 1);
else {
for (j = 0; j < N; j++)
cblas_saxpy(M, (alpha), &A[j*LDA], 1, &B[j*LDB], 1);
}
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_sgeadd_quark ( Quark quark)

Definition at line 67 of file core_sgeadd.c.

References A, B, cblas_saxpy(), and quark_unpack_args_7.

{
int M;
int N;
float alpha;
float *A;
int LDA;
float *B;
int LDB;
int j;
quark_unpack_args_7(quark, M, N, alpha, A, LDA, B, LDB);
if (M == LDA && M == LDB)
cblas_saxpy(M*N, (alpha), A, 1, B, 1);
else {
for (j = 0; j < N; j++)
cblas_saxpy(M, (alpha), &A[j*LDA], 1, &B[j*LDB], 1);
}
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_sgeadd ( Quark quark,
Quark_Task_Flags task_flags,
int  m,
int  n,
int  nb,
float  alpha,
float *  A,
int  lda,
float *  B,
int  ldb 
)

Definition at line 43 of file core_sgeadd.c.

References CORE_sgeadd_quark(), DAG_CORE_GEADD, INOUT, INPUT, QUARK_Insert_Task(), and VALUE.

{
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(float), &alpha, VALUE,
sizeof(float)*nb*nb, A, INPUT,
sizeof(int), &lda, VALUE,
sizeof(float)*nb*nb, B, INOUT,
sizeof(int), &ldb, VALUE,
0);
}

Here is the call graph for this function:

Here is the caller graph for this function: