source: CIVL/examples/omp/dataracebench-1.3.2/micro-benchmarks-fortran/DRB151-missinglock3-orig-gpu-yes.f95@ 53480b5

1.23 2.0 acw/focus-triggers main test-branch
Last change on this file since 53480b5 was e3f356c, checked in by Wenhao Wu <wuwenhao@…>, 5 years ago

merge from branch omptrans for tacas2022

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5471 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100755
File size: 1003 bytes
Line 
1!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!
2!!! Copyright (c) 2017-20, Lawrence Livermore National Security, LLC
3!!! and DataRaceBench project contributors. See the DataRaceBench/COPYRIGHT file for details.
4!!!
5!!! SPDX-License-Identifier: (BSD-3-Clause)
6!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!
7
8!The distribute parallel do directive at line 19 will execute loop using multiple teams.
9!The loop iterations are distributed across the teams in chunks in round robin fashion.
10!The missing lock enclosing var@21 leads to data race. Data Race Pairs, var@21:9 and var@21:15.
11
12program DRB151_missinglock3_orig_gpu_yes
13 use omp_lib
14 implicit none
15
16 integer :: var, i
17
18 !$omp target map(tofrom:var) device(0)
19 !$omp teams distribute parallel do
20 do i = 1, 100
21 var = var+1
22 end do
23 !$omp end teams distribute parallel do
24 !$omp end target
25
26 print*, var
27end program
Note: See TracBrowser for help on using the repository browser.