source: CIVL/examples/omp/dataracebench-1.3.2/micro-benchmarks-fortran/DRB031-truedepfirstdimension-orig-yes.f95

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

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

  • Property mode set to 100755
File size: 1.0 KB
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!There is a loop-carried true dependence within the outer level loop.
9!Data race pair: b[i][j]@31:13 vs. b[i-1][j-1]@31:22
10
11program DRB031_truedepfirstdimension_orig_yes
12 use omp_lib
13 implicit none
14
15 integer :: i, j, n, m
16 real, dimension(:,:), allocatable :: b
17
18 n = 1000
19 m = 1000
20 allocate (b(n,m))
21
22 do i = 1, n
23 do j = 1, m
24 b(i,j) = 0.5
25 end do
26 end do
27
28 !$omp parallel do private(j)
29 do i = 2, n
30 do j = 2, m
31 b(i,j) = b(i-1, j-1)
32 end do
33 end do
34 !$omp end parallel do
35
36 print 100, b(500,500)
37 100 format ('b(500,500) =',F10.6)
38
39 deallocate(b)
40end program
Note: See TracBrowser for help on using the repository browser.