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

Go to the source code of this file.

Functions

void CORE_zgemm (int transA, int transB, int M, int N, int K, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int LDA, PLASMA_Complex64_t *B, int LDB, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC)
void QUARK_CORE_zgemm (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t *B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc)
void QUARK_CORE_zgemm2 (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t *B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc)
void CORE_zgemm_quark (Quark *quark)
void QUARK_CORE_zgemm_f2 (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t *B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc, PLASMA_Complex64_t *fake1, int szefake1, int flag1, PLASMA_Complex64_t *fake2, int szefake2, int flag2)
void CORE_zgemm_f2_quark (Quark *quark)
void QUARK_CORE_zgemm_p2 (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t **B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc)
void CORE_zgemm_p2_quark (Quark *quark)
void QUARK_CORE_zgemm_p3 (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t *B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t **C, int ldc)
void CORE_zgemm_p3_quark (Quark *quark)
void QUARK_CORE_zgemm_p2f1 (Quark *quark, Quark_Task_Flags *task_flags, int transA, int transB, int m, int n, int k, int nb, PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda, PLASMA_Complex64_t **B, int ldb, PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc, PLASMA_Complex64_t *fake1, int szefake1, int flag1)
void CORE_zgemm_p2f1_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:
Hatem Ltaief
Mathieu Faverge
Jakub Kurzak
Date:
2010-11-15 normal z -> c d s

Definition in file core_zgemm.c.


Function Documentation

void CORE_zgemm ( int  transA,
int  transB,
int  M,
int  N,
int  K,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  LDA,
PLASMA_Complex64_t B,
int  LDB,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  LDC 
)

Definition at line 28 of file core_zgemm.c.

References CBLAS_SADDR, cblas_zgemm(), and CblasColMajor.

{
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
M, N, K,
CBLAS_SADDR(alpha), A, LDA,
B, LDB,
CBLAS_SADDR(beta), C, LDC);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_zgemm_f2_quark ( Quark quark)

Definition at line 171 of file core_zgemm.c.

References A, B, C, CBLAS_SADDR, cblas_zgemm(), CblasColMajor, and quark_unpack_args_15.

{
int transA;
int transB;
int M;
int N;
int K;
int LDA;
int LDB;
int LDC;
void *fake1, *fake2;
quark_unpack_args_15(quark, transA, transB, M, N, K, alpha,
A, LDA, B, LDB, beta, C, LDC, fake1, fake2);
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
M, N, K,
CBLAS_SADDR(alpha), A, LDA,
B, LDB,
CBLAS_SADDR(beta), C, LDC);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_zgemm_p2_quark ( Quark quark)

Definition at line 234 of file core_zgemm.c.

References A, B, C, CBLAS_SADDR, cblas_zgemm(), CblasColMajor, and quark_unpack_args_13.

{
int transA;
int transB;
int M;
int N;
int K;
int LDA;
int LDB;
int LDC;
quark_unpack_args_13(quark, transA, transB, M, N, K, alpha,
A, LDA, B, LDB, beta, C, LDC);
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
M, N, K,
CBLAS_SADDR(alpha), A, LDA,
*B, LDB,
CBLAS_SADDR(beta), C, LDC);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_zgemm_p2f1_quark ( Quark quark)

Definition at line 360 of file core_zgemm.c.

References A, B, C, CBLAS_SADDR, cblas_zgemm(), CblasColMajor, and quark_unpack_args_14.

{
int transA;
int transB;
int M;
int N;
int K;
int LDA;
int LDB;
int LDC;
void *fake1;
quark_unpack_args_14(quark, transA, transB, M, N, K, alpha,
A, LDA, B, LDB, beta, C, LDC, fake1);
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
M, N, K,
CBLAS_SADDR(alpha), A, LDA,
*B, LDB,
CBLAS_SADDR(beta), C, LDC);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_zgemm_p3_quark ( Quark quark)

Definition at line 296 of file core_zgemm.c.

References A, B, C, CBLAS_SADDR, cblas_zgemm(), CblasColMajor, and quark_unpack_args_13.

{
int transA;
int transB;
int M;
int N;
int K;
int LDA;
int LDB;
int LDC;
quark_unpack_args_13(quark, transA, transB, M, N, K, alpha,
A, LDA, B, LDB, beta, C, LDC);
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
M, N, K,
CBLAS_SADDR(alpha), A, LDA,
B, LDB,
CBLAS_SADDR(beta), *C, LDC);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_zgemm_quark ( Quark quark)

Definition at line 106 of file core_zgemm.c.

References A, B, C, CBLAS_SADDR, cblas_zgemm(), CblasColMajor, and quark_unpack_args_13.

{
int transA;
int transB;
int m;
int n;
int k;
int lda;
int ldb;
int ldc;
quark_unpack_args_13(quark, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc);
(CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB,
m, n, k,
CBLAS_SADDR(alpha), A, lda,
B, ldb,
CBLAS_SADDR(beta), C, ldc);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_zgemm ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  ldc 
)

Definition at line 46 of file core_zgemm.c.

References CORE_zgemm_quark(), DAG_CORE_GEMM, INOUT, INPUT, QUARK_Insert_Task(), and VALUE.

{
QUARK_Insert_Task(quark, CORE_zgemm_quark, task_flags,
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, 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, INPUT,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT,
sizeof(int), &ldc, VALUE,
0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_zgemm2 ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  ldc 
)

Definition at line 74 of file core_zgemm.c.

References CORE_zgemm_quark(), DAG_CORE_GEMM, GATHERV, INOUT, INPUT, LOCALITY, QUARK_Insert_Task(), and VALUE.

{
QUARK_Insert_Task(quark, CORE_zgemm_quark, task_flags,
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, 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, INPUT,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT | LOCALITY | GATHERV,
sizeof(int), &ldc, VALUE,
0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_zgemm_f2 ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  ldc,
PLASMA_Complex64_t fake1,
int  szefake1,
int  flag1,
PLASMA_Complex64_t fake2,
int  szefake2,
int  flag2 
)

Definition at line 135 of file core_zgemm.c.

References CORE_zgemm_f2_quark(), DAG_CORE_GEMM, INOUT, INPUT, LOCALITY, QUARK_Insert_Task(), and VALUE.

{
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, 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, INPUT,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT | LOCALITY,
sizeof(int), &ldc, VALUE,
sizeof(PLASMA_Complex64_t)*szefake1, fake1, flag1,
sizeof(PLASMA_Complex64_t)*szefake2, fake2, flag2,
0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_zgemm_p2 ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t **  B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  ldc 
)

Definition at line 202 of file core_zgemm.c.

References CORE_zgemm_p2_quark(), DAG_CORE_GEMM, INOUT, INPUT, LOCALITY, QUARK_Insert_Task(), and VALUE.

{
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, VALUE,
sizeof(PLASMA_Complex64_t), &alpha, VALUE,
sizeof(PLASMA_Complex64_t)*lda*nb, A, INPUT,
sizeof(int), &lda, VALUE,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(PLASMA_Complex64_t)*ldc*nb, C, INOUT | LOCALITY,
sizeof(int), &ldc, VALUE,
0);
}

Here is the call graph for this function:

void QUARK_CORE_zgemm_p2f1 ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t **  B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t C,
int  ldc,
PLASMA_Complex64_t fake1,
int  szefake1,
int  flag1 
)

Definition at line 326 of file core_zgemm.c.

References CORE_zgemm_p2f1_quark(), DAG_CORE_GEMM, INOUT, INPUT, LOCALITY, QUARK_Insert_Task(), and VALUE.

{
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, VALUE,
sizeof(PLASMA_Complex64_t), &alpha, VALUE,
sizeof(PLASMA_Complex64_t)*lda*nb, A, INPUT,
sizeof(int), &lda, VALUE,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(PLASMA_Complex64_t)*ldc*nb, C, INOUT | LOCALITY,
sizeof(int), &ldc, VALUE,
sizeof(PLASMA_Complex64_t)*szefake1, fake1, flag1,
0);
}

Here is the call graph for this function:

void QUARK_CORE_zgemm_p3 ( Quark quark,
Quark_Task_Flags task_flags,
int  transA,
int  transB,
int  m,
int  n,
int  k,
int  nb,
PLASMA_Complex64_t  alpha,
PLASMA_Complex64_t A,
int  lda,
PLASMA_Complex64_t B,
int  ldb,
PLASMA_Complex64_t  beta,
PLASMA_Complex64_t **  C,
int  ldc 
)

Definition at line 264 of file core_zgemm.c.

References CORE_zgemm_p3_quark(), DAG_CORE_GEMM, INOUT, INPUT, LOCALITY, QUARK_Insert_Task(), and VALUE.

{
sizeof(PLASMA_enum), &transA, VALUE,
sizeof(PLASMA_enum), &transB, VALUE,
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(int), &k, VALUE,
sizeof(PLASMA_Complex64_t), &alpha, VALUE,
sizeof(PLASMA_Complex64_t)*lda*nb, A, INPUT,
sizeof(int), &lda, VALUE,
sizeof(PLASMA_Complex64_t)*ldb*nb, B, INPUT,
sizeof(int), &ldb, VALUE,
sizeof(PLASMA_Complex64_t), &beta, VALUE,
sizeof(int), &ldc, VALUE,
0);
}

Here is the call graph for this function: