{"id":18179330,"url":"https://github.com/tudasc/cusan-tests","last_synced_at":"2026-05-03T07:32:46.291Z","repository":{"id":260610109,"uuid":"859825686","full_name":"tudasc/cusan-tests","owner":"tudasc","description":"A test suite for CUDA-aware MPI race detection","archived":false,"fork":false,"pushed_at":"2025-01-20T12:45:59.000Z","size":214,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-07T11:21:25.953Z","etag":null,"topics":["cuda","dataracebench-cuda","mpi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tudasc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/CMakeLists.txt","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-19T10:48:25.000Z","updated_at":"2025-01-20T12:46:01.000Z","dependencies_parsed_at":"2024-11-01T11:24:38.806Z","dependency_job_id":"527c7f9e-2a0a-4c68-b9bc-b74ee719d3b2","html_url":"https://github.com/tudasc/cusan-tests","commit_stats":null,"previous_names":["tudasc/cusan-tests"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tudasc%2Fcusan-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tudasc%2Fcusan-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tudasc%2Fcusan-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tudasc%2Fcusan-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tudasc","download_url":"https://codeload.github.com/tudasc/cusan-tests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tudasc%2Fcusan-tests/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259189622,"owners_count":22819076,"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","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":["cuda","dataracebench-cuda","mpi"],"created_at":"2024-11-02T18:09:13.668Z","updated_at":"2026-05-03T07:32:46.257Z","avatar_url":"https://github.com/tudasc.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cusan-tests \u0026middot; [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nTest environment for CUDA-aware MPI race detection.\n\n## Overview\n\n- [testsuite](testsuite/): Unit tests with data races\n- [jacobi Solver mini-app](jacobi/): CUDA-aware MPI C implementation by [NVidia](https://github.com/NVIDIA-developer-blog/code-samples/tree/master/posts/cuda-aware-mpi-example/src)\n- [tealeaf mini-app](tealeaf/): CUDA-aware MPI C++ heat conduction, [see TeaLeaf](https://github.com/UoB-HPC/TeaLeaf)\n\n### Requirements\n\n[CMakeLists](CMakeLists.txt) facilitates the execution of our tests by generating appropriate targets.\n\nTo setup, execute:\n\n```shell\n$ cd cusan-tests\n$ mkdir build \u0026\u0026 cd build\n$ cmake ..\n```\n\n[CMakeLists](CMakeLists.txt) will require the following environment variables:\n- `CUSAN_PATH`: Path to the cusan installation, to detect the compiler wrappers/libs\n- `MUST_PATH`: PATH to the MUST installation, to detect `mustrun`\n\n#### Software \u0026 GPU\n- System modules: `1) gcc/11.2.0 2) cuda/11.8 3) openmpi/4.1.6 4) git/2.40.0 5) python/3.10.10 6) clang/14.0.6`\n- CuSan: [bootstrap](support/cusan-bootstrap.sh)\n- MUST: [bootstrap](support/must-bootstrap.sh)\n- testsuite: llvm-lit, FileCheck\n- GPU: Tesla T4 and Tesla V100 (arch=sm_70)\n\n### testsuite Targets\n\nIn [root level](./) created `build` folder `cmake ..` generates:\n- Targets to build, and run on the current node, see [CMakeLists](testsuite/CMakeLists.txt): \n    - `make check-cutests`: All\n    - `make check-cutests-mpi-to-cuda`: Only MPI to CUDA races\n    - `make check-cutests-cuda-to-mpi`: Only CUDA to MPI races\n    - `make check-cutests-cuda-only`: Only CUDA races\n\n### Jacobi Targets\n\nIn [root level](./) created `build` folder `cmake ..` generates:\n- Targets to build, and run on the current node, see [CMakeLists](jacobi/scripts/CMakeLists.txt): \n    - `make jacobi-all-build`: builds vanilla, vanilla-tsan, cusan\n    - `make jacobi-run` or `make jacobi-vanilla-run`: Run on current node\n- [`sbatch.sh`](jacobi/scripts/sbatch.sh.in): To run on compute node (requires `make jacobi-all-build` to be run)\n    - `make jacobi-sbatch`: Slurm commit generated as sbatch\n\n### TeaLeaf Targets\n\nIn [root level](./) created `build` folder `cmake ..` generates:\n- Targets to build, and run on the current node, see [CMakeLists](tealeaf/scripts/CMakeLists.txt): \n    - `make tealeaf-all-build`: builds vanilla, vanilla-tsan, cusan\n    - `make tealeaf-run` or `make tealeaf-vanilla-run`: Run on current node\n- [`sbatch.sh`](tealeaf/scripts/sbatch.sh.in): To run on compute node (requires `make tealeaf-all-build` to be run)\n    - `make tealeaf-sbatch`: Slurm commit generated as sbatch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftudasc%2Fcusan-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftudasc%2Fcusan-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftudasc%2Fcusan-tests/lists"}