=====================================================================================================================================
OVERVIEW of benchmarks in directory 'micro-benchmarks'
=====================================================================================================================================

-------------------------------------------------------------------------------------------------------------------------------------
Property labels for race-yes set     | Property labels for race-no set
-------------------------------------------------------------------------------------------------------------------------------------
Y1: Unresolvable dependences         | N1: Embarrassingly parallel
Y2: Missing data sharing clauses     | N2: Use of data sharing clauses
Y3: Missing synchronization          | N3: Use of synchronization
Y4: SIMD data races                  | N4: Use of SIMD directives
Y5: Accelerator data races           | N5: Use of accelerator directives
Y6: Undefined behaviors              | N6: Use of special language features
Y7: Numerical kernel data races      | N7: Numerical kernels
-------------------------------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------------------------------
MIRCOBENCHMARKS WITH KNOWN DATA RACES (RACE-YES-SET)
-------------------------------------------------------------------------------------------------------------------------------------
P-Label| Micro-bechmark          | Source     | Description
-------------------------------------------------------------------------------------------------------------------------------------
Y1     | antidep1                | AutoPar    | Anti-dependence within a single loop       
Y1     | antidep2                | AutoPar    | Anti-dependence within a two-level loop nest        
Y2     | lastprivatemissing      | AutoPar    | Data race due to a missing lastprivate() clause      
Y3     | minusminus              | AutoPar    | Unprotected $--$ operation      
Y3     | nowait                  | AutoPar    | Missing barrier due to a wrongfully used nowait      
Y6     | outofbounds             | AutoPar    | Out of bound access of the 2nd dimension of array       
Y1     | outputdep               | AutoPar    | Output dependence and true dependence within a loop       
Y1     | plusplus                | AutoPar    | $++$operation on array index variable       
Y2     | privatemissing          | AutoPar    | Missing private() for a temp variable          
Y2     | reductionmissing        | AutoPar    | Missing reduction() for a variable          
Y1     | truedep1                | AutoPar    | True data dependence among multiple array elements within a single level loop       
Y1     | truedepfirstdimension   | AutoPar    | True data dependence of first dimension for a 2-D array accesses         
Y1     | truedeplinear           | AutoPar    | Linear equation as array subscript            
Y1     | truedepscalar           | AutoPar    | True data dependence due to scalar            
Y1     | truedepseconddimension  | AutoPar    | True data dependence on 2nd dimension of a 2-D array accesses          
Y1     | truedepsingleelement    | AutoPar    | True data dependence due to a single array element          
-------------------------------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------------------------------
MICROBENCHMARKS WITHOUT KNOWN DATA RACES (RACE-NO-SET)
-------------------------------------------------------------------------------------------------------------------------------------
P-Label| Micro-bechmark          | Source     | Description
-------------------------------------------------------------------------------------------------------------------------------------
N2     | 3mm-parallel            | Polyhedral | 3-step matrix-matrix multiplication, non-optimized version     
N2,N4  | 3mm-tile                | Polyhedral | 3-step matrix-matrix multiplication, with tiling and nested SIMD       
N2     | adi-parallel            | Polyhedral | Alternating Direction Implicit solver, non-optimized version     
N2,N4  | adi-tile                | Polyhedral | Alternating Direction Implicit solver, with tiling and nested SIMD       
N1     | doall1                  | AutoPar    |  Classic DOAll loop operating on a one dimensional array    
N1     | doall2                  | AutoPar    | Classic DOAll loop operating on a two dimensional array      
N2     | firstprivate            | AutoPar    | Example use of firstprivate    
N1     | inneronly1              | AutoPar    | Two-level nested loops, inner level is parallelizable. True dependence on outer level     
N1     | inneronly2              | AutoPar    | Two-level nested loops, inner level is parallelizable. Anti dependence on outer level   
N7     | jacobiinitialize        | AutoPar    | The array initialization parallel loop in Jacobi     
N7     | jacobikernel            | AutoPar    | Parallel Jacobi stencil computation kernel with array copying and reduction   
N2     | lastprivate             | AutoPar    | Example use of lastprivate    
N7     | matrixmultiply          | AutoPar    | Classic i-k-j order matrix multiplication using OpenMP       
N7     | matrixvector1           | AutoPar    | Matrix-vector multiplication parallelized at the outer level loop      
N7     | matrixvector2           | AutoPar    | Matrix-vector multiplication parallelized at the inner level loop with reduction       
N2     | outeronly1              | AutoPar    | Two-level nested loops, outer level is parallelizable. True dependence on inner level        
N2     | outeronly2              | AutoPar    | Two-level nested loops, outer level is parallelizable. Anti dependence on inner level        
N7     | pireduction             | AutoPar    | PI calculation using reduction       
-------------------------------------------------------------------------------------------------------------------------------------
