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

1.23 2.0 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: 989 bytes
Line 
1/*
2!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!
3!!! Copyright (c) 2017-20, Lawrence Livermore National Security, LLC
4!!! and DataRaceBench project contributors. See the DataRaceBench/COPYRIGHT file for details.
5!!!
6!!! SPDX-License-Identifier: (BSD-3-Clause)
7!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!
8*/
9
10/*This example is referred from DRACC by Adrian Schmitz et al.
11The distribute parallel for directive at line 24 will execute loop using multiple teams.
12The loop iterations are distributed across the teams in chunks in round robin fashion.
13The missing lock enclosing var@26:5 leads to data race. Data Race Pairs, var@26:5 and var@26:5.
14*/
15
16#include <omp.h>
17#include <stdio.h>
18
19int main(){
20
21 int var=0,i;
22
23 #pragma omp target map(tofrom:var) device(0)
24 #pragma omp teams distribute parallel for
25 for (int i=0; i<100; i++){
26 var++;
27 }
28
29 printf("%d\n",var);
30 return 0;
31}
Note: See TracBrowser for help on using the repository browser.