{"id":18396996,"url":"https://github.com/iith-compilers/drb_fortran","last_synced_at":"2026-02-12T01:02:10.892Z","repository":{"id":129374910,"uuid":"215745785","full_name":"IITH-Compilers/drb_fortran","owner":"IITH-Compilers","description":"DataRaceBench 1.2 kernels written in FORTRAN for LLVM-IR based data race detection tools","archived":false,"fork":false,"pushed_at":"2019-10-17T08:50:58.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-07T19:00:40.831Z","etag":null,"topics":["data-race-detection","dataracebench-fortran-kernels","fortran","llvm-ir","openmp","program-verification","race-detection"],"latest_commit_sha":null,"homepage":"https://github.com/utpalbora/drb_fortran","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IITH-Compilers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-10-17T08:49:19.000Z","updated_at":"2019-10-17T08:52:57.000Z","dependencies_parsed_at":"2023-03-16T23:00:14.127Z","dependency_job_id":null,"html_url":"https://github.com/IITH-Compilers/drb_fortran","commit_stats":{"total_commits":35,"total_committers":3,"mean_commits":"11.666666666666666","dds":0.3142857142857143,"last_synced_commit":"b11dfe06b5f0f942e4d9359b9b3d445f138e9139"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/IITH-Compilers/drb_fortran","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IITH-Compilers%2Fdrb_fortran","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IITH-Compilers%2Fdrb_fortran/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IITH-Compilers%2Fdrb_fortran/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IITH-Compilers%2Fdrb_fortran/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IITH-Compilers","download_url":"https://codeload.github.com/IITH-Compilers/drb_fortran/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IITH-Compilers%2Fdrb_fortran/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270149345,"owners_count":24535728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-race-detection","dataracebench-fortran-kernels","fortran","llvm-ir","openmp","program-verification","race-detection"],"created_at":"2024-11-06T02:15:22.014Z","updated_at":"2026-02-12T01:02:10.860Z","avatar_url":"https://github.com/IITH-Compilers.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DataRaceBench FORTRAN kernels\n\nThese are [DataRaceBench](https://github.com/llnl/dataracebench) 1.2 kernels re-written in FORTRAN in order to work on LLVM-IR based OpenMP data race detection tools.  \nThere are 92 kernels in total, covering different pragmas of OpenMP version 4.5.  \nWe plan to implement all 116 kernels of DataRaceBench v1.2.  \n\n## Current Status of DataRaceBench FORTRAN kernels\n| id  | DataRaceBench v1.2 kernel  | Have race?  | DataRaceBench FORTRAN  | Flang Support  |\n|:-:|:-:|:-:|:-:|:-:|\n|1| DRB001-antidep1-orig-yes.c | TRUE | [DRBF001_yes.f95](micro-benchmarks/DRBF001_yes.f95) |  |\n|2| DRB002-antidep1-var-yes.c | TRUE | [DRBF002_yes.f95](micro-benchmarks/DRBF002_yes.f95) |  |\n|3| DRB003-antidep2-orig-yes.c | TRUE | [DRBF003_yes.f95](micro-benchmarks/DRBF003_yes.f95) |  |\n|4| DRB004-antidep2-var-yes.c | TRUE | [DRBF004_yes.f95](micro-benchmarks/DRBF004_yes.f95) |  |\n|5| DRB005-indirectaccess1-orig-yes.c | TRUE | [](micro-benchmarks/) |  |\n|6| DRB006-indirectaccess2-orig-yes.c | TRUE | [](micro-benchmarks/) |  |\n|7| DRB007-indirectaccess3-orig-yes.c | TRUE | [](micro-benchmarks/) |  |\n|8| DRB008-indirectaccess4-orig-yes.c | TRUE | [](micro-benchmarks/) |  |\n|9| DRB009-lastprivatemissing-orig-yes.c | TRUE | [DRBF009_yes.f95](micro-benchmarks/DRBF009_yes.f95) |  |\n|10| DRB010-lastprivatemissing-var-yes.c | TRUE | [DRBF010_yes.f95](micro-benchmarks/DRBF010_yes.f95) |  |\n|11| DRB011-minusminus-orig-yes.c | TRUE | [DRBF011_yes.f95](micro-benchmarks/DRBF011_yes.f95) |  |\n|12| DRB012-minusminus-var-yes.c | TRUE | [DRBF012_yes.f95](micro-benchmarks/DRBF012_yes.f95) |  |\n|13| DRB013-nowait-orig-yes.c | TRUE | [DRBF013_yes.f95](micro-benchmarks/DRBF013_yes.f95) |  |\n|14| DRB014-outofbounds-orig-yes.c | TRUE | [DRBF014_yes.f95](micro-benchmarks/DRBF014_yes.f95) |  |\n|15| DRB015-outofbounds-var-yes.c | TRUE | [DRBF015_yes.f95](micro-benchmarks/DRBF015_yes.f95) |  |\n|16| DRB016-outputdep-orig-yes.c | TRUE | [DRBF016_yes.f95](micro-benchmarks/DRBF016_yes.f95) |  |\n|17| DRB017-outputdep-var-yes.c | TRUE | [DRBF017_yes.f95](micro-benchmarks/DRBF017_yes.f95) |  |\n|18| DRB018-plusplus-orig-yes.c | TRUE | [DRBF018_yes.f95](micro-benchmarks/DRBF018_yes.f95) |  |\n|19| DRB019-plusplus-var-yes.c | TRUE | [DRBF019_yes.f95](micro-benchmarks/DRBF019_yes.f95) |  |\n|20| DRB020-privatemissing-var-yes.c | TRUE | [DRBF020_yes.f95](micro-benchmarks/DRBF020_yes.f95) |  |\n|21| DRB021-reductionmissing-orig-yes.c | TRUE | [DRBF021_yes.f95](micro-benchmarks/DRBF021_yes.f95) |  |\n|22| DRB022-reductionmissing-var-yes.c | TRUE | [DRBF022_yes.f95](micro-benchmarks/DRBF022_yes.f95) |  |\n|23| DRB023-sections1-orig-yes.c | TRUE | [DRBF023_yes.f95](micro-benchmarks/DRBF023_yes.f95) |  |\n|24| DRB024-simdtruedep-orig-yes.c | TRUE | [DRBF024_yes.f95](micro-benchmarks/DRBF024_yes.f95) |  |\n|25| DRB025-simdtruedep-var-yes.c | TRUE | [DRBF025_yes.f95](micro-benchmarks/DRBF025_yes.f95) |  |\n|26| DRB026-targetparallelfor-orig-yes.c | TRUE | [DRBF026_yes.f95](micro-benchmarks/DRBF026_yes.f95) |  |\n|27| DRB027-taskdependmissing-orig-yes.c | TRUE | [DRBF027_yes.f95](micro-benchmarks/DRBF027_yes.f95) |  |\n|28| DRB028-privatemissing-orig-yes.c | TRUE | [DRBF028_yes.f95](micro-benchmarks/DRBF028_yes.f95) |  |\n|29| DRB029-truedep1-orig-yes.c | TRUE | [DRBF029_yes.f95](micro-benchmarks/DRBF029_yes.f95) |  |\n|30| DRB030-truedep1-var-yes.c | TRUE | [DRBF030_yes.f95](micro-benchmarks/DRBF030_yes.f95) |  |\n|31| DRB031-truedepfirstdimension-orig-yes.c | TRUE | [DRBF031_yes.f95](micro-benchmarks/DRBF031_yes.f95) |  |\n|32| DRB032-truedepfirstdimension-var-yes.c | TRUE | [DRBF032_yes.f95](micro-benchmarks/DRBF032_yes.f95) |  |\n|33| DRB033-truedeplinear-orig-yes.c | TRUE | [DRBF033_yes.f95](micro-benchmarks/DRBF033_yes.f95) |  |\n|34| DRB034-truedeplinear-var-yes.c | TRUE | [DRBF034_yes.f95](micro-benchmarks/DRBF034_yes.f95) |  |\n|35| DRB035-truedepscalar-orig-yes.c | TRUE | [DRBF035_yes.f95](micro-benchmarks/DRBF035_yes.f95) |  |\n|36| DRB036-truedepscalar-var-yes.c | TRUE | [DRBF036_yes.f95](micro-benchmarks/DRBF036_yes.f95) |  |\n|37| DRB037-truedepseconddimension-orig-yes.c | TRUE | [DRBF037_yes.f95](micro-benchmarks/DRBF037_yes.f95) |  |\n|38| DRB038-truedepseconddimension-var-yes.c | TRUE | [DRBF038_yes.f95](micro-benchmarks/DRBF038_yes.f95) |  |\n|39| DRB039-truedepsingleelement-orig-yes.c | TRUE | [DRBF039_yes.f95](micro-benchmarks/DRBF039_yes.f95) |  |\n|40| DRB040-truedepsingleelement-var-yes.c | TRUE | [DRBF040_yes.f95](micro-benchmarks/DRBF040_yes.f95) |  |\n|41| DRB041-3mm-parallel-no.c | FALSE | [](micro-benchmarks/) |  |\n|42| DRB042-3mm-tile-no.c | FALSE | [](micro-benchmarks/) |  |\n|43| DRB043-adi-parallel-no.c | FALSE | [](micro-benchmarks/) |  |\n|44| DRB044-adi-tile-no.c | FALSE | [](micro-benchmarks/) |  |\n|45| DRB045-doall1-orig-no.c | FALSE | [DRBF045_no.f95](micro-benchmarks/DRBF045_no.f95) |  |\n|46| DRB046-doall2-orig-no.c | FALSE | [DRBF046_no.f95](micro-benchmarks/DRBF046_no.f95) |  |\n|47| DRB047-doallchar-orig-no.c | FALSE | [DRBF047_no.f95](micro-benchmarks/DRBF047_no.f95) |  |\n|48| DRB048-firstprivate-orig-no.c | FALSE | [DRBF048_no.f95](micro-benchmarks/DRBF048_no.f95) |  |\n|49| DRB049-fprintf-orig-no.c | FALSE | [](micro-benchmarks/) |  |\n|50| DRB050-functionparameter-orig-no.c | FALSE | [DRBF050_no.f95](micro-benchmarks/DRBF050_no.f95) |  |\n|51| DRB051-getthreadnum-orig-no.c | FALSE | [DRBF051_no.f95](micro-benchmarks/DRBF051_no.f95) |  |\n|52| DRB052-indirectaccesssharebase-orig-no.c | FALSE | [](micro-benchmarks/) |  |\n|53| DRB053-inneronly1-orig-no.c | FALSE | [DRBF053_no.f95](micro-benchmarks/DRBF053_no.f95) |  |\n|54| DRB054-inneronly2-orig-no.c | FALSE | [DRBF054_no.f95](micro-benchmarks/DRBF054_no.f95) |  |\n|55| DRB055-jacobi2d-parallel-no.c | FALSE | [](micro-benchmarks/) |  |\n|56| DRB056-jacobi2d-tile-no.c | FALSE | [](micro-benchmarks/) |  |\n|57| DRB057-jacobiinitialize-orig-no.c | FALSE | [DRBF057_no.f95](micro-benchmarks/DRBF057_no.f95) |  |\n|58| DRB058-jacobikernel-orig-no.c | FALSE | [](micro-benchmarks/) |  |\n|59| DRB059-lastprivate-orig-no.c | FALSE | [DRBF059_no.f95](micro-benchmarks/DRBF059_no.f95) |  |\n|60| DRB060-matrixmultiply-orig-no.c | FALSE | [DRBF060_no.f95](micro-benchmarks/DRBF060_no.f95) |  |\n|61| DRB061-matrixvector1-orig-no.c | FALSE | [DRBF061_no.f95](micro-benchmarks/DRBF061_no.f95) |  |\n|62| DRB062-matrixvector2-orig-no.c | FALSE | [DRBF062_no.f95](micro-benchmarks/DRBF062_no.f95) |  |\n|63| DRB063-outeronly1-orig-no.c | FALSE | [DRBF063_no.f95](micro-benchmarks/DRBF063_no.f95) |  |\n|64| DRB064-outeronly2-orig-no.c | FALSE | [DRBF064_no.f95](micro-benchmarks/DRBF064_no.f95) |  |\n|65| DRB065-pireduction-orig-no.c | FALSE | [DRBF065_no.f95](micro-benchmarks/DRBF065_no.f95) |  |\n|66| DRB066-pointernoaliasing-orig-no.c | FALSE | [DRBF066_no.f95](micro-benchmarks/DRBF066_no.f95) |  |\n|67| DRB067-restrictpointer1-orig-no.c | FALSE | [](micro-benchmarks/) |  |\n|68| DRB068-restrictpointer2-orig-no.c | FALSE | [](micro-benchmarks/) |  |\n|69| DRB069-sectionslock1-orig-no.c | FALSE | [DRBF069_no.f95](micro-benchmarks/DRBF069_no.f95) |  |\n|70| DRB070-simd1-orig-no.c | FALSE | [DRBF070_no.f95](micro-benchmarks/DRBF070_no.f95) |  |\n|71| DRB071-targetparallelfor-orig-no.c | FALSE | [DRBF071_no.f95](micro-benchmarks/DRBF071_no.f95) |  |\n|72| DRB072-taskdep1-orig-no.c | FALSE | [](micro-benchmarks/) | F90-W-0547-OpenMP feature, DEPEND, not yet implemented in this version of the compiler. |\n|73| DRB073-doall2-orig-yes.c | TRUE | [DRBF073_yes.f95](micro-benchmarks/DRBF073_yes.f95) |  |\n|74| DRB074-flush-orig-yes.c | TRUE | [DRBF074_yes.f95](micro-benchmarks/DRBF074_yes.f95) |  |\n|75| DRB075-getthreadnum-orig-yes.c | TRUE | [DRBF075_yes.f95](micro-benchmarks/DRBF075_yes.f95) |  |\n|76| DRB076-flush-orig-no.c | FALSE | [DRBF076_no.f95](micro-benchmarks/DRBF076_no.f95) |  |\n|77| DRB077-single-orig-no.c | FALSE | [DRBF077_no.f95](micro-benchmarks/DRBF077_no.f95) |  |\n|78| DRB078-taskdep2-orig-no.c | FALSE | [](micro-benchmarks/) | F90-W-0547-OpenMP feature, DEPEND, not yet implemented in this version of the compiler. |\n|79| DRB079-taskdep3-orig-no.c | FALSE | [](micro-benchmarks/) | F90-W-0547-OpenMP feature, DEPEND, not yet implemented in this version of the compiler. |\n|80| DRB080-func-arg-orig-yes.c | TRUE | [DRBF080_yes.f95](micro-benchmarks/DRBF080_yes.f95) |  |\n|81| DRB081-func-arg-orig-no.c | FALSE | [DRBF081_no.f95](micro-benchmarks/DRBF081_no.f95) |  |\n|82| DRB082-declared-in-func-orig-yes.c | TRUE | [DRBF082_yes.f95](micro-benchmarks/DRBF082_yes.f95) |  |\n|83| DRB083-declared-in-func-orig-no.c | FALSE | [DRBF083_no.f95](micro-benchmarks/DRBF083_no.f95) |  |\n|84| DRB084-threadprivatemissing-orig-yes.c | TRUE | [](micro-benchmarks/) | error: unable to execute command: Segmentation fault (core dumped) |\n|85| DRB085-threadprivate-orig-no.c | FALSE | [](micro-benchmarks/) | error: unable to execute command: Segmentation fault (core dumped) |\n|86| DRB086-static-data-member-orig-yes.cpp | TRUE | [](micro-benchmarks/) |  |\n|87| DRB087-static-data-member2-orig-yes.cpp | TRUE | [](micro-benchmarks/) |  |\n|88| DRB088-dynamic-storage-orig-yes.c | TRUE | [DRBF088_yes.f95](micro-benchmarks/DRBF088_yes.f95) |  |\n|89| DRB089-dynamic-storage2-orig-yes.c | TRUE | [DRBF089_yes.f95](micro-benchmarks/DRBF089_yes.f95) |  |\n|90| DRB090-static-local-orig-yes.c | TRUE | [DRBF090_yes.f95](micro-benchmarks/DRBF090_yes.f95) |  |\n|91| DRB091-threadprivate2-orig-no.c | FALSE | [DRBF091_no.f95](micro-benchmarks/DRBF091_no.f95) |  |\n|92| DRB092-threadprivatemissing2-orig-yes.c | TRUE | [DRBF092_yes.f95](micro-benchmarks/DRBF092_yes.f95) |  |\n|93| DRB093-doall2-collapse-orig-no.c | FALSE | [DRBF093_no.f95](micro-benchmarks/DRBF093_no.f95) |  |\n|94| DRB094-doall2-ordered-orig-no.c | FALSE | [](micro-benchmarks/) | F90-W-0547-OpenMP feature, ORDERED(n), not yet implemented in this version of the compiler. |\n|95| DRB095-doall2-taskloop-orig-yes.c | TRUE | [DRBF095_yes.f95](micro-benchmarks/DRBF095_yes.f95) |  |\n|96| DRB096-doall2-taskloop-collapse-orig-no.c | FALSE | [DRBF096_no.f95](micro-benchmarks/DRBF096_no.f95) |  |\n|97| DRB097-target-teams-distribute-orig-no.c | FALSE | [DRBF097_no.f95](micro-benchmarks/DRBF097_no.f95) |  |\n|98| DRB098-simd2-orig-no.c | FALSE | [DRBF098_no.f95](micro-benchmarks/DRBF098_no.f95) |  |\n|99| DRB099-targetparallelfor2-orig-no.c | FALSE | [DRBF099_no.f95](micro-benchmarks/DRBF099_no.f95) |  |\n|100| DRB100-task-reference-orig-no.cpp | FALSE | [DRBF100_no.f95](micro-benchmarks/DRBF100_no.f95) |  |\n|101| DRB101-task-value-orig-no.cpp | FALSE | [DRBF101_no.f95](micro-benchmarks/DRBF101_no.f95) |  |\n|102| DRB102-copyprivate-orig-no.c | FALSE | [DRBF102_no.f95](micro-benchmarks/DRBF102_no.f95) |  |\n|103| DRB103-master-orig-no.c | FALSE | [DRBF103_no.f95](micro-benchmarks/DRBF103_no.f95) |  |\n|104| DRB104-nowait-barrier-orig-no.c | FALSE | [DRBF104_no.f95](micro-benchmarks/DRBF104_no.f95) |  |\n|105| DRB105-taskwait-orig-no.c | FALSE | [DRBF105_no.f95](micro-benchmarks/DRBF105_no.f95) |  |\n|106| DRB106-taskwaitmissing-orig-yes.c | TRUE | [DRBF106_yes.f95](micro-benchmarks/DRBF106_yes.f95) |  |\n|107| DRB107-taskgroup-orig-no.c | FALSE | [DRBF107_no.f95](micro-benchmarks/DRBF107_no.f95) |  |\n|108| DRB108-atomic-orig-no.c | FALSE | [DRBF108_no.f95](micro-benchmarks/DRBF108_no.f95) |  |\n|109| DRB109-orderedmissing-orig-yes.c | TRUE | [DRBF109_yes.f95](micro-benchmarks/DRBF109_yes.f95) |  |\n|110| DRB110-ordered-orig-no.c | FALSE | [DRBF110_no.f95](micro-benchmarks/DRBF110_no.f95) |  |\n|111| DRB111-linearmissing-orig-yes.c | TRUE | [DRBF111_yes.f95](micro-benchmarks/DRBF111_yes.f95) |  |\n|112| DRB112-linear-orig-no.c | FALSE | [](micro-benchmarks/) | F90-W-0547-OpenMP feature, LINEAR, not yet implemented in this version of the compiler. |\n|113| DRB113-default-orig-no.c | FALSE | [DRBF113_no.f95](micro-benchmarks/DRBF113_no.f95) |  |\n|114| DRB114-if-orig-yes.c | TRUE | [DRBF114_yes.f95](micro-benchmarks/DRBF114_yes.f95) |  |\n|115| DRB115-forsimd-orig-yes.c | TRUE | [DRBF115_yes.f95](micro-benchmarks/DRBF115_yes.f95) |  |\n|116| DRB116-target-teams-orig-yes.c | TRUE | [DRBF116_yes.f95](micro-benchmarks/DRBF116_yes.f95) |  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiith-compilers%2Fdrb_fortran","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiith-compilers%2Fdrb_fortran","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiith-compilers%2Fdrb_fortran/lists"}