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
dgecfi2.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_drm2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_dcm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_drrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_dccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_dcrrb2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_dccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
#define ipt_drcrb2ccrb(plasma, m, n, A, mb, nb, seq, req)   ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_drrrb2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_drm2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_dcm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_dcrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_drcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Functions

int ipt_dcm2ccrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dccrb2cm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dccrb2crrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcrrb2ccrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drcrb2rrrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drrrb2rcrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dccrb2rcrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcm2rcrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drcrb2cm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dccrb2rrrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drrrb2ccrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcrrb2rcrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drcrb2crrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcm2crrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcrrb2cm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drcrb2rm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drm2rcrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcm2rrrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drrrb2cm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dccrb2rm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drm2ccrb (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dcm2rm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_drm2cm (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dpanel2all (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dall2panel (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dpanel2tile (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_dtile2panel (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)

Macro Definition Documentation

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

Definition at line 30 of file dgecfi2.h.

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

Definition at line 24 of file dgecfi2.h.

#define ipt_dcrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_drcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 54 of file dgecfi2.h.

#define ipt_dcrrb2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));

Definition at line 47 of file dgecfi2.h.

#define ipt_drcrb2ccrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 48 of file dgecfi2.h.

#define ipt_drm2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dcm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 53 of file dgecfi2.h.

#define ipt_drm2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dcm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 37 of file dgecfi2.h.

#define ipt_drrrb2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 49 of file dgecfi2.h.

#define ipt_drrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_dccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 38 of file dgecfi2.h.


Function Documentation

int ipt_dall2panel ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 533 of file dgecfi2.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(double)*m*n, A, INPUT,
sizeof(double)*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_dccrb2cm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 105 of file dgecfi2.c.

References ipt_dtile2panel(), PLASMA_dshiftr, and PLASMA_SUCCESS.

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

Here is the call graph for this function:

int ipt_dccrb2crrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 120 of file dgecfi2.c.

References PLASMA_pdgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

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

Here is the caller graph for this function:

int ipt_dccrb2rcrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 167 of file dgecfi2.c.

References plasma_dshift(), and PLASMA_SUCCESS.

{
int M_, N_;
if( (m == 0) || (n == 0) )
M_ = m / mb;
N_ = n / nb;
/* quick return */
if( (M_ < 2) || (N_ < 2) ) {
}
plasma_dshift(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_dccrb2rm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 353 of file dgecfi2.c.

References ipt_dccrb2rcrb(), ipt_drcrb2rrrb(), ipt_drrrb2rm, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_dccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_drcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_drrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_dccrb2rrrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 226 of file dgecfi2.c.

References ipt_dccrb2rcrb(), ipt_drcrb2rrrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

int ipt_dcm2ccrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

ipt_dcm2ccrb 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 dgecfi2.c.

References ipt_dpanel2tile(), PLASMA_dshift, and PLASMA_SUCCESS.

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

Here is the call graph for this function:

int ipt_dcm2crrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 273 of file dgecfi2.c.

References ipt_dccrb2crrb(), PLASMA_dshift, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_dcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshift(m, n, mb, nb, A);
ipt_dccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_dcm2rcrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 2 sub-routines

Definition at line 197 of file dgecfi2.c.

References ipt_dccrb2rcrb(), ipt_dpanel2all(), PLASMA_dshift, and PLASMA_SUCCESS.

{
if( (m == 0) || (n == 0) )
//ipt_dcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshift(m, n, mb, nb, A);
ipt_dpanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_dccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_dcm2rm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 4 sub-routines

Definition at line 386 of file dgecfi2.c.

References ipt_dccrb2rcrb(), ipt_dpanel2all(), ipt_drcrb2rrrb(), ipt_drrrb2rm, PLASMA_dshift, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_dcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshift(m, n, mb, nb, A);
ipt_dpanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_dccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_drcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_drrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_dcm2rrrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Composition of 3 sub-routines

Definition at line 327 of file dgecfi2.c.

References ipt_dccrb2crrb(), ipt_dcrrb2rrrb, PLASMA_dshift, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_dcm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshift(m, n, mb, nb, A);
ipt_dccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_dcrrb2rrrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_dcrrb2ccrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 131 of file dgecfi2.c.

References PLASMA_pdgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

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

Here is the caller graph for this function:

int ipt_dcrrb2cm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 285 of file dgecfi2.c.

References ipt_dcrrb2ccrb(), PLASMA_dshiftr, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_dcrrb2ccrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_dccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_dcrrb2rcrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 259 of file dgecfi2.c.

References ipt_dccrb2rcrb(), ipt_dcrrb2ccrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

int ipt_dpanel2all ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 501 of file dgecfi2.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(double)*m*n, A, INOUT | GATHERV,
sizeof(double)*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_dpanel2tile ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 462 of file dgecfi2.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.

{
double *Al;
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(double)*psiz, Al, INPUT,
sizeof(double)*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_drcrb2cm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 210 of file dgecfi2.c.

References ipt_dall2panel(), ipt_drcrb2ccrb, PLASMA_dshiftr, and PLASMA_SUCCESS.

{
if( (m == 0) || (n == 0) )
ipt_drcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_dall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_dccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_drcrb2crrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 248 of file dgecfi2.c.

References ipt_dccrb2crrb(), ipt_drcrb2ccrb, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

int ipt_drcrb2rm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 308 of file dgecfi2.c.

References ipt_drcrb2rrrb(), ipt_drrrb2rm, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

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

Here is the call graph for this function:

int ipt_drcrb2rrrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 142 of file dgecfi2.c.

References PLASMA_pdgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

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

Here is the caller graph for this function:

int ipt_drm2ccrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 365 of file dgecfi2.c.

References ipt_drcrb2ccrb, ipt_drm2rrrb, ipt_drrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_drm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_drrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_drcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

int ipt_drm2cm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 401 of file dgecfi2.c.

References ipt_dall2panel(), ipt_drcrb2ccrb, ipt_drm2rrrb, ipt_drrrb2rcrb(), PLASMA_dshiftr, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_drm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_drrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_drcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_dall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_dccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_drm2rcrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 297 of file dgecfi2.c.

References ipt_drm2rrrb, ipt_drrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

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

Here is the call graph for this function:

int ipt_drrrb2ccrb ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 237 of file dgecfi2.c.

References ipt_drcrb2ccrb, ipt_drrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

int ipt_drrrb2cm ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 340 of file dgecfi2.c.

References ipt_dcrrb2ccrb(), ipt_drrrb2crrb, PLASMA_dshiftr, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_drrrb2crrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_dcrrb2ccrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_dccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_dshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

int ipt_drrrb2rcrb ( plasma_context_t plasma,
PLASMA_enum  idep,
PLASMA_enum  odep,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 153 of file dgecfi2.c.

References PLASMA_pdgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

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

Here is the caller graph for this function:

int ipt_dtile2panel ( plasma_context_t plasma,
int  m,
int  n,
double *  A,
int  mb,
int  nb,
PLASMA_sequence sequence,
PLASMA_request request 
)

Barriers

Definition at line 423 of file dgecfi2.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.

{
double *Al;
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(double)*psiz, Al, INOUT | GATHERV,
sizeof(double)*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: