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
sgecfi2.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_srm2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_scm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_srrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_sccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_scrrb2rrrb(plasma, m, n, A, mb, nb, seq, req)   ipt_sccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
#define ipt_srcrb2ccrb(plasma, m, n, A, mb, nb, seq, req)   ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_srrrb2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_srm2crrb(plasma, m, n, A, mb, nb, seq, req)   ipt_scm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
#define ipt_scrrb2rm(plasma, m, n, A, mb, nb, seq, req)   ipt_srcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Functions

int ipt_scm2ccrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sccrb2cm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sccrb2crrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scrrb2ccrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srcrb2rrrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srrrb2rcrb (plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sccrb2rcrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scm2rcrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srcrb2cm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sccrb2rrrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srrrb2ccrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scrrb2rcrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srcrb2crrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scm2crrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scrrb2cm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srcrb2rm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srm2rcrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scm2rrrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srrrb2cm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sccrb2rm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srm2ccrb (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_scm2rm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_srm2cm (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_spanel2all (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_sall2panel (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_spanel2tile (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)
int ipt_stile2panel (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req)

Macro Definition Documentation

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

Definition at line 30 of file sgecfi2.h.

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

Definition at line 24 of file sgecfi2.h.

#define ipt_scrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_srcrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 54 of file sgecfi2.h.

#define ipt_scrrb2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_sccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));

Definition at line 47 of file sgecfi2.h.

#define ipt_srcrb2ccrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 48 of file sgecfi2.h.

#define ipt_srm2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_scm2rcrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 53 of file sgecfi2.h.

#define ipt_srm2rrrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_scm2ccrb( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 37 of file sgecfi2.h.

#define ipt_srrrb2crrb (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 49 of file sgecfi2.h.

#define ipt_srrrb2rm (   plasma,
  m,
  n,
  A,
  mb,
  nb,
  seq,
  req 
)    ipt_sccrb2cm( (plasma), (n), (m), (A), (nb), (mb), (seq), (req));

Definition at line 38 of file sgecfi2.h.


Function Documentation

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

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

Definition at line 105 of file sgecfi2.c.

References ipt_stile2panel(), PLASMA_sshiftr, and PLASMA_SUCCESS.

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

Here is the call graph for this function:

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

Definition at line 120 of file sgecfi2.c.

References PLASMA_psgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

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

Here is the caller graph for this function:

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

Definition at line 167 of file sgecfi2.c.

References plasma_sshift(), 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_sshift(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_sccrb2rm ( plasma_context_t plasma,
int  m,
int  n,
float *  A,
int  mb,
int  nb,
PLASMA_sequence seq,
PLASMA_request req 
)

Definition at line 353 of file sgecfi2.c.

References ipt_sccrb2rcrb(), ipt_srcrb2rrrb(), ipt_srrrb2rm, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_sccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_srcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_srrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Definition at line 226 of file sgecfi2.c.

References ipt_sccrb2rcrb(), ipt_srcrb2rrrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

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

ipt_scm2ccrb 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 sgecfi2.c.

References ipt_spanel2tile(), PLASMA_sshift, and PLASMA_SUCCESS.

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

Here is the call graph for this function:

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

Definition at line 273 of file sgecfi2.c.

References ipt_sccrb2crrb(), PLASMA_sshift, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_scm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshift(m, n, mb, nb, A);
ipt_sccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_NoDep, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Composition of 2 sub-routines

Definition at line 197 of file sgecfi2.c.

References ipt_sccrb2rcrb(), ipt_spanel2all(), PLASMA_sshift, and PLASMA_SUCCESS.

{
if( (m == 0) || (n == 0) )
//ipt_scm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshift(m, n, mb, nb, A);
ipt_spanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_sccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Composition of 4 sub-routines

Definition at line 386 of file sgecfi2.c.

References ipt_sccrb2rcrb(), ipt_spanel2all(), ipt_srcrb2rrrb(), ipt_srrrb2rm, PLASMA_sshift, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_scm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshift(m, n, mb, nb, A);
ipt_spanel2all(plasma, m, n, A, mb, nb, sequence, request);
ipt_sccrb2rcrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_srcrb2rrrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
ipt_srrrb2rm( plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Composition of 3 sub-routines

Definition at line 327 of file sgecfi2.c.

References ipt_sccrb2crrb(), ipt_scrrb2rrrb, PLASMA_sshift, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
//ipt_scm2ccrb( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshift(m, n, mb, nb, A);
ipt_sccrb2crrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_scrrb2rrrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Definition at line 131 of file sgecfi2.c.

References PLASMA_psgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

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

Here is the caller graph for this function:

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

Definition at line 285 of file sgecfi2.c.

References ipt_scrrb2ccrb(), PLASMA_sshiftr, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_scrrb2ccrb(plasma, PlasmaIPT_NoDep, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_sccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

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

Definition at line 259 of file sgecfi2.c.

References ipt_sccrb2rcrb(), ipt_scrrb2ccrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

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

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

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

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

Definition at line 210 of file sgecfi2.c.

References ipt_sall2panel(), ipt_srcrb2ccrb, PLASMA_sshiftr, and PLASMA_SUCCESS.

{
if( (m == 0) || (n == 0) )
ipt_srcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_sall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_sccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

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

Definition at line 248 of file sgecfi2.c.

References ipt_sccrb2crrb(), ipt_srcrb2ccrb, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

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

Definition at line 308 of file sgecfi2.c.

References ipt_srcrb2rrrb(), ipt_srrrb2rm, PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

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

Here is the call graph for this function:

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

Definition at line 142 of file sgecfi2.c.

References PLASMA_psgetmi2, PLASMA_SUCCESS, and PlasmaRowwise.

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

Here is the caller graph for this function:

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

Definition at line 365 of file sgecfi2.c.

References ipt_srcrb2ccrb, ipt_srm2rrrb, ipt_srrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_srm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_srrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_srcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
}

Here is the call graph for this function:

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

Definition at line 401 of file sgecfi2.c.

References ipt_sall2panel(), ipt_srcrb2ccrb, ipt_srm2rrrb, ipt_srrrb2rcrb(), PLASMA_sshiftr, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_srm2rrrb( plasma, m, n, A, mb, nb, sequence, request);
ipt_srrrb2rcrb(plasma, PlasmaIPT_Panel, PlasmaIPT_All, m, n, A, mb, nb, sequence, request);
ipt_srcrb2ccrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_sall2panel(plasma, m, n, A, mb, nb, sequence, request);
//ipt_sccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

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

Definition at line 297 of file sgecfi2.c.

References ipt_srm2rrrb, ipt_srrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_NoDep, and PlasmaIPT_Panel.

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

Here is the call graph for this function:

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

Definition at line 237 of file sgecfi2.c.

References ipt_srcrb2ccrb, ipt_srrrb2rcrb(), PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_NoDep.

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

Here is the call graph for this function:

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

Definition at line 340 of file sgecfi2.c.

References ipt_scrrb2ccrb(), ipt_srrrb2crrb, PLASMA_sshiftr, PLASMA_SUCCESS, PlasmaIPT_All, and PlasmaIPT_Panel.

{
if( (m == 0) || (n == 0) )
ipt_srrrb2crrb(plasma, m, n, A, mb, nb, sequence, request);
ipt_scrrb2ccrb(plasma, PlasmaIPT_All, PlasmaIPT_Panel, m, n, A, mb, nb, sequence, request);
//ipt_sccrb2cm( plasma, m, n, A, mb, nb, sequence, request);
PLASMA_sshiftr(m, n, mb, nb, A);
}

Here is the call graph for this function:

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

Definition at line 153 of file sgecfi2.c.

References PLASMA_psgetmi2, PLASMA_SUCCESS, and PlasmaColumnwise.

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

Here is the caller graph for this function:

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

Barriers

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

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