source: CIVL/examples/omp/dataracebench-1.3.2/micro-benchmarks-fortran/DRB075-getthreadnum-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: 931 bytes
RevLine 
[e3f356c]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!Test if the semantics of omp_get_thread_num() is correctly recognized.
9!Thread with id 0 writes numThreads while other threads read it, causing data races.
10!Data race pair: numThreads@22 vs. numThreads@24.
11
12
13program DRB075_getthreadnum_orig_yes
14 use omp_lib
15 implicit none
16
17 integer :: numThreads
18 numThreads = 0
19
20 !$omp parallel
21 if ( omp_get_thread_num()==0 ) then
22 numThreads = omp_get_num_threads();
23 else
24 print*,'numThreads =',numThreads
25 end if
26 !$omp endparallel
27end program
Note: See TracBrowser for help on using the repository browser.