reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

projects/openmp/runtime/src/kmp_dispatch.cpp
 1175   if (pr->u.p.tc == 0) {
 1183   switch (pr->schedule) {
 1186     T chunk = pr->u.p.parm1;
 1192     trip = pr->u.p.tc - 1;
 1199       if (pr->u.p.count < (UT)pr->u.p.ub) {
 1199       if (pr->u.p.count < (UT)pr->u.p.ub) {
 1202         init = (pr->u.p.count)++;
 1203         status = (init < (UT)pr->u.p.ub);
 1210         int while_limit = pr->u.p.parm3;
 1216           T victimIdx = pr->u.p.parm4;
 1222           while ((victim == NULL || victim == pr ||
 1224                    *(volatile T *)&pr->u.p.static_steal_counter)) &&
 1232                           *(volatile T *)&pr->u.p.static_steal_counter)) {
 1238             pr->u.p.parm4 = (victimIdx + 1) % nproc; // shift start tid
 1249             pr->u.p.parm4 = (victimIdx + 1) % nproc; // next victim
 1266           pr->u.p.parm4 = victimIdx; // remember victim to steal from
 1271           pr->u.p.count = init + 1;
 1272           pr->u.p.ub = limit;
 1289         vold.b = *(volatile kmp_int64 *)(&pr->u.p.count);
 1293             (volatile kmp_int64 *)&pr->u.p.count,
 1297           vold.b = *(volatile kmp_int64 *)(&pr->u.p.count);
 1308         int while_limit = pr->u.p.parm3;
 1316           T victimIdx = pr->u.p.parm4;
 1322           while ((victim == NULL || victim == pr ||
 1324                    *(volatile T *)&pr->u.p.static_steal_counter)) &&
 1332                           *(volatile T *)&pr->u.p.static_steal_counter)) {
 1337           pr->u.p.parm4 = victimIdx; // new victim found
 1345               pr->u.p.parm4 = (victimIdx + 1) % nproc; // shift start victim id
 1370               *(volatile kmp_int64 *)(&pr->u.p.count) = vold.b;
 1385       start = pr->u.p.parm2;
 1388       incr = pr->u.p.st;
 1405       if (pr->flags.ordered) {
 1406         pr->u.p.ordered_lower = init;
 1407         pr->u.p.ordered_upper = limit;
 1419     if ((status = !pr->u.p.count) != 0) {
 1420       pr->u.p.count = 1;
 1421       *p_lb = pr->u.p.lb;
 1422       *p_ub = pr->u.p.ub;
 1423       last = pr->u.p.parm1;
 1425         *p_st = pr->u.p.st;
 1427       pr->u.p.lb = pr->u.p.ub + pr->u.p.st;
 1427       pr->u.p.lb = pr->u.p.ub + pr->u.p.st;
 1427       pr->u.p.lb = pr->u.p.ub + pr->u.p.st;
 1439     parm1 = pr->u.p.parm1;
 1441     trip = pr->u.p.tc - 1;
 1442     init = parm1 * (pr->u.p.count + tid);
 1445       start = pr->u.p.lb;
 1446       incr = pr->u.p.st;
 1455       pr->u.p.count += nproc;
 1465       if (pr->flags.ordered) {
 1466         pr->u.p.ordered_lower = init;
 1467         pr->u.p.ordered_upper = limit;
 1474     T chunk = pr->u.p.parm1;
 1482     trip = pr->u.p.tc - 1;
 1490       start = pr->u.p.lb;
 1492       incr = pr->u.p.st;
 1508       if (pr->flags.ordered) {
 1509         pr->u.p.ordered_lower = init;
 1510         pr->u.p.ordered_upper = limit;
 1517     T chunkspec = pr->u.p.parm1;
 1521     trip = pr->u.p.tc;
 1533           pr->u.p.parm2) { // compare with K*nproc*(chunk+1), K=2 by default
 1554               (UT)(remaining * *(double *)&pr->u.p.parm3); // divide by K*nproc
 1564       start = pr->u.p.lb;
 1565       incr = pr->u.p.st;
 1570       if (pr->flags.ordered) {
 1571         pr->u.p.ordered_lower = init;
 1572         pr->u.p.ordered_upper = limit;
 1586     T chunk = pr->u.p.parm1;
 1590     trip = pr->u.p.tc;
 1602       if ((T)remaining < pr->u.p.parm2) {
 1623       UT span = remaining * (*(double *)&pr->u.p.parm3);
 1637       start = pr->u.p.lb;
 1638       incr = pr->u.p.st;
 1643       if (pr->flags.ordered) {
 1644         pr->u.p.ordered_lower = init;
 1645         pr->u.p.ordered_upper = limit;
 1657     T chunkspec = pr->u.p.parm1;
 1669     trip = pr->u.p.tc;
 1677       if (chunkIdx >= (UT)pr->u.p.parm2) {
 1680         init = chunkIdx * chunkspec + pr->u.p.count;
 1708               trip, *(DBL *)&pr->u.p.parm3, chunkIdx);
 1714                            trip, *(DBL *)&pr->u.p.parm3, chunkIdx + 1);
 1732       start = pr->u.p.lb;
 1733       incr = pr->u.p.st;
 1738       if (pr->flags.ordered) {
 1739         pr->u.p.ordered_lower = init;
 1740         pr->u.p.ordered_upper = limit;
 1753     T parm2 = pr->u.p.parm2;
 1754     T parm3 = pr->u.p.parm3;
 1755     T parm4 = pr->u.p.parm4;
 1763     trip = pr->u.p.tc - 1;
 1771       start = pr->u.p.lb;
 1773       incr = pr->u.p.st;
 1789       if (pr->flags.ordered) {
 1790         pr->u.p.ordered_lower = init;
 1791         pr->u.p.ordered_upper = limit;