DRB001-antidep1-orig-yes.c Y1 Anti-dependence within a single loop AutoPar DRB002-antidep1-var-yes.c Y1 Anti-dependence within a single loop AutoPar DRB003-antidep2-orig-yes.c Y1 Anti-dependence within a two-level loop nest AutoPar DRB004-antidep2-var-yes.c Y1 Anti-dependence within a two-level loop nest AutoPar DRB005-indirectaccess1-orig-yes.c Y7 Indirect access with overlapped index array elements LLNL App DRB006-indirectaccess2-orig-yes.c Y7 Overlapping index array elements when 36 or more threads are used LLNL App DRB007-indirectaccess3-orig-yes.c Y7 Overlapping index array elements when 60 or more threads are used LLNL App DRB008-indirectaccess4-orig-yes.c Y7 Overlapping index array elements when 180 or more threads are used LLNL App DRB009-lastprivatemissing-orig-yes.c Y2 Data race due to a missing lastprivate() clause AutoPar DRB010-lastprivatemissing-var-yes.c Y2 Data race due to a missing lastprivate() clause AutoPar DRB011-minusminus-orig-yes.c Y3 Unprotected decrement operation -- AutoPar DRB012-minusminus-var-yes.c Y3 Unprotected decrement operation -- AutoPar DRB013-nowait-orig-yes.c Y3 Missing barrier due to a wrongfully used nowait AutoPar DRB014-outofbounds-orig-yes.c Y6 Out of bound access of the 2nd dimension of array AutoPar DRB015-outofbounds-var-yes.c Y6 Out of bound access of the 2nd dimension of array AutoPar DRB016-outputdep-orig-yes.c Y1 Output dependence and true dependence within a loop AutoPar DRB017-outputdep-var-yes.c Y1 Output dependence and true dependence within a loop AutoPar DRB018-plusplus-orig-yes.c Y1 increment operation ++ on array index variable AutoPar DRB019-plusplus-var-yes.c Y1 increment operation ++ on array index variable AutoPar DRB020-privatemissing-orig-yes.c Y2 Missing private() for a temp variable AutoPar DRB021-privatemissing-var-yes.c Y2 Missing private() for a temp variable AutoPar DRB022-reductionmissing-orig-yes.c Y2 Missing reduction() for a variable AutoPar DRB023-reductionmissing-var-yes.c Y2 Missing reduction() for a variable AutoPar DRB024-sections1-orig-yes.c Y3 Unprotected data writes in parallel sections New DRB025-simdtruedep-orig-yes.c Y1,Y4 SIMD instruction level data races New DRB026-simdtruedep-var-yes.c Y1,Y4 SIMD instruction level data races New DRB027-targetparallelfor-orig-yes.c Y1,Y5 Data races in loops offloaded to accelerators New DRB028-taskdependmissing-orig-yes.c Y3 Unprotected data writes in two tasks New DRB029-truedep1-orig-yes.c Y1 True data dependence among multiple array elements within a single level loop AutoPar DRB030-truedep1-var-yes.c Y1 True data dependence among multiple array elements within a single level loop AutoPar DRB031-truedepfirstdimension-(orig|var)-yes.c Y1 True data dependence of first dimension for a 2-D array accesses AutoPar DRB032-truedepfirstdimension-(orig|var)-yes.c Y1 True data dependence of first dimension for a 2-D array accesses AutoPar DRB033-truedeplinear-orig-yes.c Y1 Linear equation as array subscript AutoPar DRB034-truedeplinear-var-yes.c Y1 Linear equation as array subscript AutoPar DRB035-truedepscalar-orig-yes.c Y1 True data dependence due to scalar AutoPar DRB036-truedepscalar-var-yes.c Y1 True data dependence due to scalar AutoPar DRB037-truedepseconddimension-(orig|var)-yes.c Y1 True data dependence on 2nd dimension of a 2-D array accesses AutoPar DRB038-truedepseconddimension-(orig|var)-yes.c Y1 True data dependence on 2nd dimension of a 2-D array accesses AutoPar DRB039-truedepsingleelement-(orig|var)-yes.c Y1 True data dependence due to a single array element AutoPar DRB040-truedepsingleelement-(orig|var)-yes.c Y1 True data dependence due to a single array element AutoPar DRB073-doall2-orig-yes.c Y2 Missing private() for inner loop nest's loop index variable New DRB074-flush-orig-yes.c Y2 Reduction using a shared variable, extracted from an official OpenMP example New DRB075-getthreadnum-orig-yes.c Y1 Work sharing within one branch of a if statement New DRB080-func-arg-orig-yes.c Y6 Function arguments passed by reference, inheriting shared attribute New DRB082-declared-in-func-orig-yes.c Y6 A variable declared within a function called by a parallel region New DRB084-threadprivatemissing-orig-yes.c Y2 Missing threadprivate for a global var, not referenced within a construct New DRB086-static-data-member-orig-yes.cpp Y2 Missing threadprivate for a static member, not referenced within a construct New DRB087-static-data-member2-orig-yes.cpp Y2 Missing threadprivate for a static member, referenced within a construct New DRB088-dynamic-storage-orig-yes.c Y2 Data race for a dynamica storage variable, not referenced within a construct New DRB089-dynamic-storage2-orig-yes.c Y2 Data race for a dynamica storage variable, referenced within a construct New DRB090-static-local-orig-yes.c Y2 Data race for a locally declared static variable New DRB092-threadprivatemissing2-orig-yes.c Y2 Missing threadprivate for a variable referenced within a construct New DRB095-doall2-taskloop-orig-yes.c Y2 Missing protection for inner loop's loop variable New DRB106-taskwaitmissing-orig-yes.c Y3 Missing taskwait to ensure correct order of calculations New DRB109-orderedmissing-orig-yes.c Y3 Missing the ordered clause, causing data races New DRB111-linearmissing-orig-yes.c Y2 Missing linear for a shared variable, causing data races New DRB114-if-orig-yes.c Y1 True data dependence within a single level loop, with if() clause New DRB115-forsimd-orig-yes.c Y1,Y4 Both thread and instruction level data races due to omp loop simd New DRB116-target-teams-orig-yes.c Y3 Master threads of two teams do not have synchronization, causing data races New DRB041-3mm-parallel-no.c N2 3-step matrix-matrix multiplication, non-optimized version Polyhedral DRB042-3mm-tile-no.c N2,N4 3-step matrix-matrix multiplication, with tiling and nested SIMD Polyhedral DRB043-adi-parallel-no.c N2 Alternating Direction Implicit solver, non-optimized version Polyhedral DRB044-adi-tile-no.c N2,N4 Alternating Direction Implicit solver, with tiling and nested SIMD Polyhedral DRB045-doall1-orig-no.c N1 Classic DOAll loop operating on a one dimensional array AutoPar DRB046-doall2-orig-no.c N1 Classic DOAll loop operating on a two dimensional array AutoPar DRB047-doallchar-orig-no.c N1 Classic DOALL loop operating on a character array New DRB048-firstprivate-orig-no.c N2 Example use of firstprivate AutoPar DRB049-fprintf-orig-no.c N6 Use of fprintf() New DRB050-functionparameter-orig-no.c N6 Arrays passed as function parameters LLNL App DRB051-getthreadnum-orig-no.c N2 single thread execution using if (omp_get_thread_num()==0) New DRB052-indirectaccesssharebase-orig-no.c N7 Indirect array accesses using index arrays without overlapping LLNL App DRB053-inneronly1-orig-no.c N1 Two-level nested loops, inner level is parallelizable. Anti dependence on outer level AutoPar DRB054-inneronly2-orig-no.c N1 Two-level nested loops, inner level is parallelizable. True dependence on outer level AutoPar DRB055-jacobi2d-parallel-no.c N7 Jacobi with array copying, no reduction, non-optimized version Polyhedral DRB056-jacobi2d-tile-no.c N4,N7 Jacobi with array copying, no reduction, with tiling and nested SIMD Polyhedral DRB057-jacobiinitialize-orig-no.c N7 The array initialization parallel loop in Jacobi AutoPar DRB058-jacobikernel-orig-no.c N7 Parallel Jacobi stencil computation kernel with array copying and reduction AutoPar DRB059-lastprivate-orig-no.c N2 Example use of lastprivate AutoPar DRB060-matrixmultiply-orig-no.c N7 Classic i-k-j order matrix multiplication using OpenMP AutoPar DRB061-matrixvector1-orig-no.c N7 Matrix-vector multiplication parallelized at the outer level loop AutoPar DRB062-matrixvector2-orig-no.c N7 Matrix-vector multiplication parallelized at the inner level loop with reduction AutoPar DRB063-outeronly1-orig-no.c N2 Two-level nested loops, outer level is parallelizable. Anti dependence on inner level AutoPar DRB064-outeronly2-orig-no.c N2 Two-level nested loops, outer level is parallelizable. True dependence on inner level AutoPar DRB065-pireduction-orig-no.c N7 PI calculation using reduction AutoPar DRB066-pointernoaliasing-orig-no.c N6 Pointers assigned by different malloc calls, without aliasing LLNL App DRB067-restrictpointer1-orig-no.c N6 C99 restrict pointers used for array initialization, no aliasing LLNL App DRB068-restrictpointer2-orig-no.c N6 C99 restrict pointers used for array computation, no aliasing LLNL App DRB069-sectionslock1-orig-no.c N3 OpenMP parallel sections with a lock to protect shared data writes New DRB070-simd1-orig-no.c N1,N4 OpenMP SIMD directive to indicate vectorization of a loop New DRB071-targetparallelfor-orig-no.c N1,N5 No data races in loops offloaded to accelerators New DRB072-taskdep1-orig-no.c N3 OpenMP task with depend clauses to avoid data races New DRB076-flush-orig-no.c N2 OpenMP private clause to avoid data races New DRB077-single-orig-no.c N1 OpenMP single directive to use only one thread for execution New DRB078-taskdep2-orig-no.c N3 OpenMP task depend clause to avoid data races New DRB079-taskdep3-orig-no.c N3 OpenMP task depend clause to avoid data races New DRB081-func-arg-orig-no.c N6 Function arguments passed by value, private New DRB083-declared-in-func-orig-no.c N6 A variable declared within a function called by a parallel region New DRB085-threadprivate-orig-no.c N2 Use threadprivate to protect a file scope variable, not referenced within a construct New DRB091-threadprivate2-orig-no.c N2 Use threadprivate to protect a file scope variable, referenced within a construct New DRB093-doall2-collapse-orig-no.c N2 Use collapse(n) to control the number of associated loops of omp for New DRB094-doall2-ordered-orig-no.c N2 Use ordered(n) to control the number of associated loops of omp for New DRB096-doall2-taskloop-collapse-orig-no.c N2 Use ordered(n) to control the number of associated loops of taskloop New DRB097-target-teams-distribute-orig-no.c N2 Predetermined attribute rule for loop variable associated with distribute New DRB098-simd2-orig-no.c N1,N2 OpenMP SIMD directive to indicate vectorization of two nested loops New DRB099-targetparallelfor2-orig-no.c N1,N5 Loops offloaded to accelerators: array sections derived from pointer New DRB100-task-reference-orig-no.cpp N1 OpenMP 4.5 feature: orphaned task generating construct using pass-by-reference New DRB101-task-value-orig-no.cpp N1 In a task generating construct, a variable without applicable rules is firstprivate New DRB102-copyprivate-orig-no.c N2 threadprivate+copyprivate, a variable without applicable rules is firstprivate New DRB103-master-orig-no.c N1 master directive to ensure only one thread will execute data accesses New DRB104-nowait-barrier-orig-no.c N3 Use barrier to ensure correct order of initialization and assignment phases New DRB105-taskwait-orig-no.c N3 Use taskwait to ensure correct order of tasks New DRB107-taskgroup-orig-no.c N3 Use taskgroup to ensure correct order of tasks New DRB108-atomic-orig-no.c N3 Use atomic to protect shared accesses to a variable New DRB110-ordered-orig-no.c N3 Proper use of the ordered clause to avoid data races New DRB112-linear-orig-no.c N2 Use linear to privatize a variable New DRB113-default-orig-no.c N1 default(none) to enforce explicitly listing variables in data-sharing clauses