{"id":18711133,"url":"https://github.com/rocm/rocwmma","last_synced_at":"2026-04-02T11:46:35.877Z","repository":{"id":37047761,"uuid":"457080557","full_name":"ROCm/rocWMMA","owner":"ROCm","description":"rocWMMA","archived":false,"fork":false,"pushed_at":"2025-04-04T20:33:12.000Z","size":7824,"stargazers_count":105,"open_issues_count":4,"forks_count":29,"subscribers_count":15,"default_branch":"develop","last_synced_at":"2025-04-04T21:27:21.971Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rocm.docs.amd.com/projects/rocWMMA/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ROCm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-08T19:47:24.000Z","updated_at":"2025-04-04T20:33:09.000Z","dependencies_parsed_at":"2024-02-28T22:23:58.881Z","dependency_job_id":"e2598d77-170f-4c1b-be64-da9b1f4560ca","html_url":"https://github.com/ROCm/rocWMMA","commit_stats":{"total_commits":669,"total_committers":16,"mean_commits":41.8125,"dds":"0.44992526158445445","last_synced_commit":"de320e0485821ab5959139752a74140346f04a8f"},"previous_names":["rocm/rocwmma"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FrocWMMA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FrocWMMA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FrocWMMA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FrocWMMA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ROCm","download_url":"https://codeload.github.com/ROCm/rocWMMA/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276162,"owners_count":20912288,"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":[],"created_at":"2024-11-07T12:37:12.858Z","updated_at":"2026-04-02T11:46:35.807Z","avatar_url":"https://github.com/ROCm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rocWMMA\n\nWelcome! rocWMMA is a C++ library for accelerating mixed-precision matrix multiply-accumulate (MMA)\noperations leveraging AMD GPU hardware. rocWMMA makes it easier to break down MMA problems\ninto fragments and distribute block-wise MMA operations in parallel across GPU wavefronts. The API\nconsists of a header library, that can be used to compile MMA acceleration directly into GPU kernel\ndevice code. This can benefit from compiler optimization in the generation of kernel assembly, and\ndoesn't incur additional overhead costs of linking to external runtime libraries or having to launch\nseparate kernels.\n\nrocWMMA includes sample projects to validate and demonstrate API usage. These include simple GEMMs,\nperformant GEMMs, DLRM, GEMV and hipRTC integration.\n\nThe test suite includes validation and benchmarking projects that focus on unit testing, GEMMs and DLRM.\n\n\u003e [!NOTE]\n\u003e The published rocWMMA documentation is available at [rocWMMA](https://rocm.docs.amd.com/projects/rocWMMA/en/latest/index.html) in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the rocWMMA/docs folder of this repository. As with all ROCm projects, the documentation is open source. For more information, see [Contribute to ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).\n\n\n## Requirements\n\nrocWMMA currently supports the following AMD GPU architectures:\n\n* CDNA class GPU featuring matrix core support: gfx908, gfx90a, gfx942, gfx950 as 'gfx9'\n* RDNA class GPU featuring AI acceleration support: gfx1100, gfx1101, gfx1102 as 'gfx11'; gfx1200, gfx1201 as 'gfx12'\n\nDependencies:\n\n* Minimum ROCm version support is 6.4.\n* Minimum cmake version support is 3.14.\n* Minimum ROCm-cmake version support is 0.8.0.\n* Minimum rocBLAS version support is rocBLAS 4.0.0 for ROCm 6.0* (or ROCm packages rocblas and rocblas-dev).\n* Minimum HIP runtime version support is 4.3.0 (or ROCm package ROCm hip-runtime-amd).\n* Minimum LLVM OpenMP runtime dev package version support is 10.0 (available as ROCm package rocm-llvm-dev).\n\n```note::\n    * = if using rocBLAS for validation.\n\n    It is best to use available ROCm packages from the same release where applicable.\n```\n\n## Build with CMake\n\nFor more detailed information, please refer to the [rocWMMA installation guide](https://rocm.docs.amd.com/projects/rocWMMA/en/latest/installation.html).\n\n### Project options\n\n|Option|Description|Default value|\n|---|---|---|\n|GPU_TARGETS|Build code for specific GPU target(s)|gfx908;gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201|\n|AMDGPU_TARGETS|(Deprecated) Build code for specific GPU target(s)|gfx908;gfx90a;gfx942;gfx950;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201|\n|ROCWMMA_BUILD_TESTS|Build Tests|ON|\n|ROCWMMA_BUILD_SAMPLES|Build Samples|ON|\n|ROCWMMA_BUILD_DOCS|Build doxygen documentation from code|OFF|\n|ROCWMMA_BUILD_ASSEMBLY|Generate assembly files|OFF|\n|ROCWMMA_BUILD_VALIDATION_TESTS|Build validation tests |ON (requires ROCWMMA_BUILD_TESTS=ON)|\n|ROCWMMA_BUILD_BENCHMARK_TESTS|Build benchmark tests |OFF (requires ROCWMMA_BUILD_TESTS=ON)|\n|ROCWMMA_BUILD_EXTENDED_TESTS|Build extended testing coverage |OFF (requires ROCWMMA_BUILD_TESTS=ON)|\n|ROCWMMA_VALIDATE_WITH_ROCBLAS|Use rocBLAS for validation tests|ON (requires ROCWMMA_BUILD_VALIDATION_TESTS=ON)|\n|ROCWMMA_BENCHMARK_WITH_ROCBLAS|Include rocBLAS benchmarking data|OFF (requires ROCWMMA_BUILD_BENCHMARK_TESTS=ON)|\n|ROCWMMA_USE_SYSTEM_GOOGLETEST|Use system Google Test library instead of downloading and building it|OFF (requires ROCWMMA_BUILD_TESTS=ON)|\n\n### Example configurations\n\nBy default, the project is configured in release mode and is linked against rocBLAS for validating\nresults. Here are some configuration examples:\n\n|Configuration|Command|\n|---|---|\n|Basic|`CC=/opt/rocm/bin/amdclang CXX=/opt/rocm/bin/amdclang++ cmake -B\u003cbuild_dir\u003e .`|\n|Targeting gfx908|`CC=/opt/rocm/bin/amdclang CXX=/opt/rocm/bin/amdclang++ cmake -B\u003cbuild_dir\u003e . -DGPU_TARGETS=gfx908:xnack-` |\n|Debug build|`CC=/opt/rocm/bin/amdclang CXX=/opt/rocm/bin/amdclang++ cmake -B\u003cbuild_dir\u003e . -DCMAKE_BUILD_TYPE=Debug` |\n|Build without rocBLAS (default on)|`CC=/opt/rocm/bin/amdclang CXX=/opt/rocm/bin/amdclang++ cmake -B\u003cbuild_dir\u003e . -DROCWMMA_VALIDATE_WITH_ROCBLAS=OFF -DROCWMMA_BENCHMARK_WITH_ROCBLAS=OFF` |\n\nAfter configuration, build with `cmake --build \u003cbuild_dir\u003e -- -j\u003cnproc\u003e`\n\n## Documentation\n\nFor more comprehensive documentation on installation, samples and test contents, API reference and programmer's guide you can build the documentation locally in different ways.\n\n### Html\n\n```bash\ncd docs\n\npip3 install -r sphinx/requirements.txt\n\npython3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html\n```\n\nThe HTML documentation can be viewed in your browser by opening docs/_build/html/index.html result.\n\n### Pdf\n\n```bash\ncd docs\n\nsudo apt-get update\nsudo apt-get install doxygen\nsudo apt-get install texlive-latex-base texlive-latex-extra\n\npip3 install -r sphinx/requirements.txt\n\npython3 -m sphinx -T -E -b latex -d _build/doctrees -D language=en . _build/latex\n\ncd _build/latex\n\npdflatex rocwmma.tex\n```\n\nRunning the above commands generates `rocwmma.pdf`.\n\nThe latest official documentation for rocWMMA is available at:\n[https://rocm.docs.amd.com/projects/rocWMMA/en/latest/index.html](https://rocm.docs.amd.com/projects/rocWMMA/en/latest/index.html).\n\n\n## Contributing to the rocWMMA Library\n\nCommunity collaboration is encouraged! If you are considering contributing, please follow the [rocWMMA Contribution Guide](https://github.com/ROCm/rocWMMA/CONTRIBUTING.md) to get started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Frocwmma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocm%2Frocwmma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Frocwmma/lists"}