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_zgeadd.c File Reference
#include "common.h"
Include dependency graph for core_zgeadd.c:

Go to the source code of this file.

Functions

void CORE_zgeadd (int M, int N, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int LDA, PLASMA_Complex64_t *B, int LDB)
void QUARK_CORE_zgeadd (Quark *quark, Quark_Task_Flags *task_flags, int m, int n, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t *B, int ldb)
void CORE_zgeadd_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 normal z -> c d s

Definition in file core_zgeadd.c.


Function Documentation

void CORE_zgeadd ( int  M,
int  N,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  LDA,
PLASMA_Complex64_t B,
int  LDB 
)

Definition at line 26 of file core_zgeadd.c.

References CBLAS_SADDR, and cblas_zaxpy().

{
int j;
if (M == LDA && M == LDB)
cblas_zaxpy(M*N, CBLAS_SADDR(alpha), A, 1, B, 1);
else {
for (j = 0; j < N; j++)
cblas_zaxpy(M, CBLAS_SADDR(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_zgeadd_quark ( Quark quark)

Definition at line 67 of file core_zgeadd.c.

References A, B, CBLAS_SADDR, cblas_zaxpy(), and quark_unpack_args_7.

{
int M;
int N;
int LDA;
int LDB;
int j;
quark_unpack_args_7(quark, M, N, alpha, A, LDA, B, LDB);
if (M == LDA && M == LDB)
cblas_zaxpy(M*N, CBLAS_SADDR(alpha), A, 1, B, 1);
else {
for (j = 0; j < N; j++)
cblas_zaxpy(M, CBLAS_SADDR(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_zgeadd ( Quark quark,
Quark_Task_Flags task_flags,
int  m,
int  n,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t B,
int  ldb 
)

Definition at line 43 of file core_zgeadd.c.

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

{
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(PLASMA_Complex64_t), &alpha, VALUE,
sizeof(PLASMA_Complex64_t)*nb*nb, A, INPUT,
sizeof(int), &lda, VALUE,
sizeof(PLASMA_Complex64_t)*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: