Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion micro-benchmarks/DRB020-privatemissing-var-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
tmp should be put as private to avoid race condition
Data race pair: tmp@65:5:W vs. tmp@66:12:R
Data race pairs:
tmp@67:5:W vs. tmp@68:12:R
tmp@67:5:W vs. tmp@67:5:W
*/
#include <stdlib.h>
int main(int argc, char* argv[])
Expand Down
4 changes: 2 additions & 2 deletions micro-benchmarks/DRB035-truedepscalar-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
*/

/*
Loop carried true dep between tmp =.. and ..= tmp.
Data race pair: tmp@66:12:R vs. tmp@67:5:W
Data race pairs: tmp@66:12:R vs. tmp@67:5:W
tmp@67:5:W vs. tmp@67:5:W
*/
#include <stdlib.h>
#include <stdio.h>
Expand Down
4 changes: 2 additions & 2 deletions micro-benchmarks/DRB036-truedepscalar-var-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
*/

/*
Loop carried true dep between tmp =.. and ..= tmp.
Data race pair: tmp@66:12:R vs. tmp@67:5:W
Data race pairs: tmp@66:12:R vs. tmp@67:5:W
tmp@67:5:W vs. tmp@67:5:W
*/
#include <stdlib.h>
int main(int argc, char* argv[])
Expand Down
2 changes: 1 addition & 1 deletion micro-benchmarks/DRB074-flush-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ This benchmark is extracted from flush_nolist.1c of OpenMP Application
Programming Interface Examples Version 4.5.0 .
We added one critical section to make it a test with only one pair of data races.
The data race will not generate wrong result though. So the assertion always passes.
Data race pair: i@70:10:W vs. i@71:11:R
Data race pair: *q@60:3:W vs. i@71:11:R
*/
#include<stdio.h>
#include<assert.h>
Expand Down
4 changes: 2 additions & 2 deletions micro-benchmarks/DRB090-static-local-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ For a variable declared in a scope inside an OpenMP construct:
* shared if the variable has a static storage duration.

Dependence pairs:
tmp@73:5:W vs. tmp@73:5:W
tmp@73:5:W vs. tmp@74:12:R
tmp@73:7:W vs. tmp@73:7:W
tmp@73:7:W vs. tmp@74:14:R
*/
#include<stdio.h>

Expand Down
4 changes: 2 additions & 2 deletions micro-benchmarks/DRB106-taskwaitmissing-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ THE POSSIBILITY OF SUCH DAMAGE.
#include <stdio.h>
/* This is a program based on a test contributed by Yizi Gu@Rice Univ.
* Classic Fibonacci calculation using task but missing taskwait.
* Data races pairs: i@61:5:W vs. i@65:12:R
* j@63:5:W vs. j@65:14:R
* Data races pairs: i@61:5:W vs. i@65:14:R
* j@63:5:W vs. j@65:16:R
* */
unsigned int input = 10;
int fib(unsigned int n)
Expand Down
5 changes: 4 additions & 1 deletion micro-benchmarks/DRB111-linearmissing-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ THE POSSIBILITY OF SUCH DAMAGE.
#include <stdio.h>
/*
* loop missing the linear clause
* Data race pair: j@67:7:R vs. j@68:5:W
* Data race pairs (race on j allows wrong indexing of c):
j@70:7:R vs. j@71:5:W
j@71:5:W vs. j@71:5:W
c[j]@70:5:W vs. c[j]@70:5:W
*/
int main()
{
Expand Down
4 changes: 2 additions & 2 deletions micro-benchmarks/DRB134-taskdep5-orig-omp45-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* by x with the in dependence type in the depend clause of the second task. Generating task
* at the first taskwait only waits for the first child task to complete. The second taskwait
* guarantees completion of the second task before y is accessed. If we access y before the
* second taskwait, there is a race condition at line 28:2 and 34:18. Data Race Pair, y@28:2:W vs. y@34:19:R
* second taskwait, there is a race condition at line 28:3 and 34:19. Data Race Pair, y@28:3:W vs. y@34:19:R
* */


Expand All @@ -25,7 +25,7 @@ void foo(){
x++; // 1st child task

#pragma omp task depend(in: x) depend(inout: y) shared(x, y)
y -= x; //2nd child task
y-=x; //2nd child task

#pragma omp task depend(in: x) if(0) // 1st taskwait
{}
Expand Down
15 changes: 11 additions & 4 deletions micro-benchmarks/DRB136-taskdep-mutexinoutset-orig-yes.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,17 @@


/* Due to the missing mutexinoutset dependence type on c, these tasks will execute in any
* order leading to the data race at line 36. Data Race Pair, d@36:7:W vs. d@36:7:W
* order leading to the data race at line 36.
Data Race Pairs
c@33:7:W vs. c@39:7:W
c@33:7:W vs. c@41:7:W
c@33:7:W vs. c@39:7:R
c@33:7:W vs. c@41:7:R
c@39:7:W vs. c@41:7:W
c@39:7:W vs. c@43:11:R
c@41:7:W vs. c@43:11:R
* */


#include <stdio.h>
#include <omp.h>

Expand All @@ -29,9 +36,9 @@ int main(){
#pragma omp task depend(out: b)
b = 3;
#pragma omp task depend(in: a)
c += a;
c+= a;
#pragma omp task depend(in: b)
c += b;
c+= b;
#pragma omp task depend(in: c)
d = c;
}
Expand Down