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
zgecfi2.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ipt_call(name, m1, n1, mb, nb)
#define ipt_cal2(name, m1, n1, mb, nb)
#define ipt_zrm2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_zcm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_zrrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_zccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_zcrrb2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_zccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
#define ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, seq, req)   ipt_zccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_zrrrb2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_zccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_zrm2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_zcm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_zcrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_zrcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Functions

int ipt_zcm2ccrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zccrb2cm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zccrb2crrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcrrb2ccrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrcrb2rrrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrrrb2rcrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zccrb2rcrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcm2rcrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrcrb2cm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zccrb2rrrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrrrb2ccrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcrrb2rcrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrcrb2crrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcm2crrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcrrb2cm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrcrb2rm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrm2rcrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcm2rrrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrrrb2cm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zccrb2rm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrm2ccrb (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zcm2rm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zrm2cm (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zpanel2all (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zall2panel (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_zpanel2tile (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_ztile2panel (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)

Macro Definition Documentation

#define ipt_cal2 (   name,
  m1,
  n1,
  mb,
  nb 
)
Value:
ipt_z##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1), (n1), (A+A11), (mb), (nb), sequence, request); \
ipt_z##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1), (n-(n1)), (A+A12), (mb), (n-(n1)), sequence, request); \
ipt_z##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n1), (A+A21), (m-(m1)), (nb), sequence, request); \
ipt_z##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n-(n1)), (A+A22), (m-(m1)), (n-(n1)), sequence, request);

Definition at line 30 of file zgecfi2.h.

#define ipt_call (   name,
  m1,
  n1,
  mb,
  nb 
)
Value:
ipt_z##name(plasma, (m1), (n1), (A+A11), (mb), (nb), sequence, request); \
ipt_z##name(plasma, (m1), (n-(n1)), (A+A12), (mb), (n-(n1)), sequence, request); \
ipt_z##name(plasma, (m-(m1)), (n1), (A+A21), (m-(m1)), (nb), sequence, request); \
ipt_z##name(plasma, (m-(m1)), (n-(n1)), (A+A22), (m-(m1)), (n-(n1)), sequence, request);

Definition at line 24 of file zgecfi2.h.

#define ipt_zcrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zrcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 54 of file zgecfi2.h.

#define ipt_zcrrb2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));

Definition at line 47 of file zgecfi2.h.

#define ipt_zrcrb2ccrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 48 of file zgecfi2.h.

#define ipt_zrm2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zcm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 53 of file zgecfi2.h.

#define ipt_zrm2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zcm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 37 of file zgecfi2.h.

#define ipt_zrrrb2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 49 of file zgecfi2.h.

#define ipt_zrrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_zccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 38 of file zgecfi2.h.


Function Documentation

int ipt_zall2panel ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 533 of file zgecfi2.c.

References CORE_foo2_quark(), INOUT, INPUT, PLASMA_DYNAMIC_SCHEDULING, plasma_dynamic_spawn, PLASMA_SCHEDULING, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

{
int i;
int N_ = n / nb;
QUARK_Task_Flag_Set(&task_flags, TASK_SEQUENCE, (intptr_t)sequence->quark_sequence);
if ( N_ > 1 ) {
for(i=1; i<N_; i++) {
#ifdef TRACE_IPT
char str[30];
sprintf(str, "Foo2 C2RI %d", i*m*nb);
#endif
QUARK_Insert_Task(plasma->quark, CORE_foo2_quark, &task_flags,
sizeof(PLASMA_Complex64_t)*m*n, A, INPUT,
sizeof(PLASMA_Complex64_t)*m*nb, &(A[i*m*nb]), INOUT,
#ifdef TRACE_IPT
30, str, VALUE | TASKLABEL,
4, "red", VALUE | TASKCOLOR,
#endif
0);
}
}
}

Here is the call graph for this function:

Here is the caller graph for this function:

int ipt_zccrb2cm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 105 of file zgecfi2.c.

References ipt_ztile2panel(), PLASMA_SUCCESS, and PLASMA_zshiftr.

{
if( (m == 0) || (n == 0) )
ipt_ztile2panel(plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_zccrb2crrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 120 of file zgecfi2.c.

References PLASMA_pzgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

{
if( (m == 0) || (n == 0) )
PLASMA_pzgetmi2(idep, odep, PlasmaColumnwise, m, n, mb, nb, A);
}

Here is the caller graph for this function:

int ipt_zccrb2rcrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 167 of file zgecfi2.c.

References PLASMA_SUCCESS, and plasma_zshift().

{
int M_, N_;
if( (m == 0) || (n == 0) )
M_ = m / mb;
N_ = n / nb;
/* quick return */
if( (M_ < 2) || (N_ < 2) ) {
}
plasma_zshift(plasma, m, n, A, 1, ( m / mb ), ( n / nb ), (mb*nb),
sequence, request);
}

Here is the call graph for this function:

Here is the caller graph for this function:

int ipt_zccrb2rm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 353 of file zgecfi2.c.

References ipt_zccrb2rcrb(), ipt_zrcrb2rrrb(), ipt_zrrrb2rm, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zccrb2rrrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 226 of file zgecfi2.c.

References ipt_zccrb2rcrb(), ipt_zrcrb2rrrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

{
if( (m == 0) || (n == 0) )
ipt_zccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcm2ccrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

ipt_zcm2ccrb converts a matrix from CM format to CCRB format

Parameters:
[in]plasmaPlasma context to which this call belong to.
[in]mNumber of rows of matrix A
[in]nNumber of columns of matrix A
[in,out]AMatrix of size m*n.
[in]mbNumber of rows of each block
[in]nbNumber of columns of each block
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes). ****************************************************************************

Self-contained functions

Definition at line 93 of file zgecfi2.c.

References ipt_zpanel2tile(), PLASMA_SUCCESS, and PLASMA_zshift.

{
if( (m == 0) || (n == 0) )
PLASMA_zshift(m, n, mb, nb, A);
ipt_zpanel2tile(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcm2crrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 273 of file zgecfi2.c.

References ipt_zccrb2crrb(), PLASMA_SUCCESS, PLASMA_zshift, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_zcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshift(m, n, mb, nb, A);
ipt_zccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcm2rcrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 2 sub-routines

Definition at line 197 of file zgecfi2.c.

References ipt_zccrb2rcrb(), ipt_zpanel2all(), PLASMA_SUCCESS, and PLASMA_zshift.

{
if( (m == 0) || (n == 0) )
//ipt_zcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshift(m, n, mb, nb, A);
ipt_zpanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_zccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcm2rm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 4 sub-routines

Definition at line 386 of file zgecfi2.c.

References ipt_zccrb2rcrb(), ipt_zpanel2all(), ipt_zrcrb2rrrb(), ipt_zrrrb2rm, PLASMA_SUCCESS, PLASMA_zshift, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_zcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshift(m, n, mb, nb, A);
ipt_zpanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_zccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcm2rrrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 3 sub-routines

Definition at line 327 of file zgecfi2.c.

References ipt_zccrb2crrb(), ipt_zcrrb2rrrb, PLASMA_SUCCESS, PLASMA_zshift, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_zcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshift(m, n, mb, nb, A);
ipt_zccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_zcrrb2rrrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zcrrb2ccrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 131 of file zgecfi2.c.

References PLASMA_pzgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

{
if( (m == 0) || (n == 0) )
PLASMA_pzgetmi2(idep, odep, PlasmaRowwise, n, m, nb, mb, A);
}

Here is the caller graph for this function:

int ipt_zcrrb2cm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 285 of file zgecfi2.c.

References ipt_zcrrb2ccrb(), PLASMA_SUCCESS, PLASMA_zshiftr, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zcrrb2ccrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_zccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_zcrrb2rcrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 259 of file zgecfi2.c.

References ipt_zccrb2rcrb(), ipt_zcrrb2ccrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

{
if( (m == 0) || (n == 0) )
ipt_zcrrb2ccrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_zccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zpanel2all ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 501 of file zgecfi2.c.

References CORE_foo2_quark(), GATHERV, INOUT, INPUT, PLASMA_DYNAMIC_SCHEDULING, plasma_dynamic_spawn, PLASMA_SCHEDULING, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

{
int i;
int N_ = n / nb;
QUARK_Task_Flag_Set(&task_flags, TASK_SEQUENCE, (intptr_t)sequence->quark_sequence);
if ( N_ > 1 ) {
for(i=1; i<N_; i++) {
#ifdef TRACE_IPT
char str[30];
sprintf(str, "Foo2 C2RI %d", i*m*nb);
#endif
QUARK_Insert_Task(plasma->quark, CORE_foo2_quark, &task_flags,
sizeof(PLASMA_Complex64_t)*m*n, A, INOUT | GATHERV,
sizeof(PLASMA_Complex64_t)*m*nb, &(A[i*m*nb]), INPUT,
#ifdef TRACE_IPT
30, str, VALUE | TASKLABEL,
4, "red", VALUE | TASKCOLOR,
#endif
0);
}
}
}

Here is the call graph for this function:

Here is the caller graph for this function:

int ipt_zpanel2tile ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 462 of file zgecfi2.c.

References CORE_foo2_quark(), INOUT, INPUT, PLASMA_DYNAMIC_SCHEDULING, plasma_dynamic_spawn, PLASMA_SCHEDULING, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

{
int i,j;
int M_ = m / mb;
int N_ = n / nb;
int bsiz = mb*nb;
int psiz = m*nb;
QUARK_Task_Flag_Set(&task_flags, TASK_SEQUENCE, (intptr_t)sequence->quark_sequence);
for(j=0; j<N_; j++) {
Al = &(A[psiz*j]);
for(i=1; i<M_; i++) {
#ifdef TRACE_IPT
char str[30];
sprintf(str, "Foo2 C2RI %d", i*m*nb);
#endif
QUARK_Insert_Task(plasma->quark, CORE_foo2_quark, &task_flags,
sizeof(PLASMA_Complex64_t)*psiz, Al, INPUT,
sizeof(PLASMA_Complex64_t)*bsiz, &(Al[i*bsiz]), INOUT,
#ifdef TRACE_IPT
30, str, VALUE | TASKLABEL,
4, "red", VALUE | TASKCOLOR,
#endif
0);
}
}
}

Here is the call graph for this function:

Here is the caller graph for this function:

int ipt_zrcrb2cm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 210 of file zgecfi2.c.

References ipt_zall2panel(), ipt_zrcrb2ccrb, PLASMA_SUCCESS, and PLASMA_zshiftr.

{
if( (m == 0) || (n == 0) )
ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_zccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_zrcrb2crrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 248 of file zgecfi2.c.

References ipt_zccrb2crrb(), ipt_zrcrb2ccrb, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

{
if( (m == 0) || (n == 0) )
ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zccrb2crrb(plasma, PlasmaIPT_All, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zrcrb2rm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 308 of file zgecfi2.c.

References ipt_zrcrb2rrrb(), ipt_zrrrb2rm, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zrcrb2rrrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zrcrb2rrrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 142 of file zgecfi2.c.

References PLASMA_pzgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

{
if( (m == 0) || (n == 0) )
PLASMA_pzgetmi2(idep, odep, PlasmaRowwise, m, n, mb, nb, A);
}

Here is the caller graph for this function:

int ipt_zrm2ccrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 365 of file zgecfi2.c.

References ipt_zrcrb2ccrb, ipt_zrm2rrrb, ipt_zrrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zrm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zrm2cm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 401 of file zgecfi2.c.

References ipt_zall2panel(), ipt_zrcrb2ccrb, ipt_zrm2rrrb, ipt_zrrrb2rcrb(), PLASMA_SUCCESS, PLASMA_zshiftr, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zrm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_zccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_zrm2rcrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 297 of file zgecfi2.c.

References ipt_zrm2rrrb, ipt_zrrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zrm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_zrrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zrrrb2ccrb ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 237 of file zgecfi2.c.

References ipt_zrcrb2ccrb, ipt_zrrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

{
if( (m == 0) || (n == 0) )
ipt_zrrrb2rcrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_zrcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_zrrrb2cm ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 340 of file zgecfi2.c.

References ipt_zcrrb2ccrb(), ipt_zrrrb2crrb, PLASMA_SUCCESS, PLASMA_zshiftr, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_zrrrb2crrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_zcrrb2ccrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_zccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_zshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_zrrrb2rcrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 153 of file zgecfi2.c.

References PLASMA_pzgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

{
if( (m == 0) || (n == 0) )
PLASMA_pzgetmi2(idep, odep, PlasmaColumnwise, n, m, nb, mb, A);
}

Here is the caller graph for this function:

int ipt_ztile2panel ( plasma_context_t plasma,
int  m,
int  n,
PLASMA_Complex64_t A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Barriers

Definition at line 423 of file zgecfi2.c.

References CORE_foo2_quark(), GATHERV, INOUT, PLASMA_DYNAMIC_SCHEDULING, plasma_dynamic_spawn, PLASMA_SCHEDULING, PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

{
int i,j;
int M_ = m / mb;
int N_ = n / nb;
int bsiz = mb*nb;
int psiz = m*nb;
QUARK_Task_Flag_Set(&task_flags, TASK_SEQUENCE, (intptr_t)sequence->quark_sequence);
for(j=0; j<N_; j++) {
Al = &(A[psiz*j]);
for(i=1; i<M_; i++) {
#ifdef TRACE_IPT
char str[30];
sprintf(str, "Foo2 C2RI %d", i*m*nb);
#endif
QUARK_Insert_Task(plasma->quark, CORE_foo2_quark, &task_flags,
sizeof(PLASMA_Complex64_t)*psiz, Al, INOUT | GATHERV,
sizeof(PLASMA_Complex64_t)*bsiz, &(Al[i*bsiz]), INOUT,
#ifdef TRACE_IPT
30, str, VALUE | TASKLABEL,
4, "red", VALUE | TASKCOLOR,
#endif
0);
}
}
}

Here is the call graph for this function:

Here is the caller graph for this function: