Changes between Version 49 and Version 50 of Next-GenOpenMPTransformation
- Timestamp:
- 11/05/19 13:59:09 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Next-GenOpenMPTransformation
v49 v50 95 95 * `seq_cst` . . . . . . . . . . . . . [Unsupported] 96 96 97 * `ordered` . . . . . . . . . . . . . . . . . .[Unsupported]97 * `ordered` ([https://vsl.cis.udel.edu/trac/civl/wiki/Next-GenOpenMPTransformation#Translatingordered detail]) 98 98 99 99 == OpenMP Types == … … 669 669 {{{ 670 670 #pragma omp for ordered 671 for (i= a; i<b; i++) {671 for (i=INIT; i<COND; i+=INCR) { 672 672 ... 673 673 #pragma omp ordered 674 S1674 BLOCK 675 675 ... 676 676 } … … 681 681 {{{ 682 682 { 683 $domain loop_domain = { a..b};684 $domain(1) my_iters = ($domain(1))$omp_arrive_loop(team, FOR_LOC++, loop_domain, STRATEGY);685 int order 1=a, order2=a;686 687 $for (int i : my_iters) {683 $domain loop_domain = {INIT .. COND # INCR}; 684 $domain(1) loop_dist = ($domain(1))$omp_arrive_loop(team, loop_id++, loop_domain, STRATEGY); 685 int order_counter0 = INIT; 686 687 $for (int i : loop_dist) { 688 688 ... 689 $when (order1==i) { 690 translate(S1); 691 order1++; 689 $yield(); 690 $when (order_counter0 == i) { 691 translate(BLOCK); 692 order_counter0 += INCR; 692 693 } 693 694 ...
