434 par_init, par_cond, par_step,
440 par_init, par_cond, par_step,
446 par_init, par_cond, par_step,
452 par_init, par_cond, par_step,
458 par_init, par_cond, par_step,
463 _XMP_fatal(
"xmpc_loop_sched: unknown chunk dist_manner");
478 if ((*par_init) < (*par_cond)){
479 (*par_init) -= lwidth;
480 (*par_cond) += uwidth;
486 if ((*par_init) < (*par_cond)){
489 (*par_init) -= lwidth;
490 (*par_cond) = (*par_init) + lwidth;
492 else if (lwidth < 0){
493 (*par_cond) = (*par_init) - lwidth;
496 else if (uwidth > 0){
497 (*par_cond) += uwidth;
498 (*par_init) = (*par_cond) - uwidth;
500 else if (uwidth < 0){
501 (*par_init) = (*par_cond) + uwidth;
509 if (unbound_flag == 0){
512 _XMP_L2G(*par_init, &glb, t_desc, t_idx);
514 (*par_init) += lwidth;
518 _XMP_L2G(*par_cond, &gub, t_desc, t_idx);
520 (*par_cond) -= uwidth;
int dist_manner
Definition: xmp_data_struct.h:87
_XMP_template_chunk_t * chunk
Definition: xmp_data_struct.h:112
#define _XMP_N_DIST_GBLOCK
Definition: xmp_constant.h:32
#define _XMP_LOOP_MARGIN
Definition: xmp_constant.h:75
#define _XMP_N_DIST_DUPLICATION
Definition: xmp_constant.h:28
#define _XMP_LOOP_NONE
Definition: xmp_constant.h:77
#define _XMP_N_DIST_BLOCK
Definition: xmp_constant.h:29
#define _XMP_LOOP_EXPAND
Definition: xmp_constant.h:74
#define _XMP_N_DIST_CYCLIC
Definition: xmp_constant.h:30
#define _XMP_N_DIST_BLOCK_CYCLIC
Definition: xmp_constant.h:31
void _XMP_L2G(int local_idx, long long int *global_idx, _XMP_template_t *template, int template_index)
Definition: xmp_index.c:4
void _XMP_sched_loop_template_DUPLICATION(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:163
void _XMP_sched_loop_template_BLOCK_CYCLIC(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:335
void _XMP_sched_loop_template_GBLOCK(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:379
void _XMP_sched_loop_template_CYCLIC(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:294
void _XMP_sched_loop_template_BLOCK(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:196