Changes between Version 30 and Version 31 of Next-GenOpenMPTransformation


Ignore:
Timestamp:
06/25/19 18:10:56 (7 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Next-GenOpenMPTransformation

    v30 v31  
    418418      int _y; // private variable
    419419
     420      $write_set_push();
     421      $read_set_push();
    420422      ...
    421423      x = 5.2;
    422424      _y = 3;
    423425      ...
    424      $omp_barrier_and_flush(team); // implicit at end of parallel region
    425      $omp_team_destroy(team);
     426      // check for dataraces (collective operation)
     427      $omp_barrier_and_flush(team, $read_set_pop(), $write_set_pop());
     428      $omp_team_destroy(team);
    426429    } // end $parfor
    427430    $omp_gteam_destroy(gteam);
     
    454457    translate(S);
    455458  }
    456   $barrier_and_flush(team);
     459  $barrier_and_flush(team, $read_set_pop(), $write_set_pop());
     460  $read_set_push(); $write_set_push();
    457461}
    458462}}}
     
    479483    translate(S);
    480484  }
    481   $omp_barrier_and_flush(team);
     485  $omp_barrier_and_flush(team, $read_set_pop(), $write_set_pop());
     486  $read_set_push(); $write_set_push();
    482487}
    483488}}}
     
    675680
    676681Just leave out the `$omp_barrier_and_flush` at the end of the translated construct.
    677