{"id":44883478,"url":"https://github.com/tracel-ai/cubecl-hip-sys","last_synced_at":"2026-02-17T17:00:29.199Z","repository":{"id":257821151,"uuid":"867103615","full_name":"tracel-ai/cubecl-hip-sys","owner":"tracel-ai","description":"Rust system bindings for AMD ROCm HIP runtime used by CubeCL","archived":false,"fork":false,"pushed_at":"2026-02-03T19:58:45.000Z","size":271,"stargazers_count":15,"open_issues_count":2,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-04T06:59:32.894Z","etag":null,"topics":["bindings","hip","rocm","runtime","rust"],"latest_commit_sha":null,"homepage":"https://github.com/tracel-ai/cubecl","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tracel-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-03T13:08:31.000Z","updated_at":"2026-02-03T19:59:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f1a97a4-9851-4f7a-a753-3a1cfc74d1c2","html_url":"https://github.com/tracel-ai/cubecl-hip-sys","commit_stats":null,"previous_names":["tracel-ai/cubecl-hip","tracel-ai/cubecl-hip-sys"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/tracel-ai/cubecl-hip-sys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tracel-ai%2Fcubecl-hip-sys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tracel-ai%2Fcubecl-hip-sys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tracel-ai%2Fcubecl-hip-sys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tracel-ai%2Fcubecl-hip-sys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tracel-ai","download_url":"https://codeload.github.com/tracel-ai/cubecl-hip-sys/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tracel-ai%2Fcubecl-hip-sys/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29550791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bindings","hip","rocm","runtime","rust"],"created_at":"2026-02-17T17:00:21.605Z","updated_at":"2026-02-17T17:00:29.178Z","avatar_url":"https://github.com/tracel-ai.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/tracel-ai/cubecl-hip/main/assets/CubeCL.webp\" width=\"256px\"/\u003e\n\n\u003ch1\u003eCubeCL Rust system bindings for ROCm HIP\u003c/h1\u003e\n\n[![Discord](https://img.shields.io/discord/1038839012602941528.svg?color=7289da\u0026\u0026logo=discord)](https://discord.gg/uPEBbYYDB6)\n[![Current Crates.io Version](https://img.shields.io/crates/v/cubecl-hip-sys)](https://crates.io/crates/cubecl-hip-sys)\n[![Minimum Supported Rust Version](https://img.shields.io/crates/msrv/cubecl-hip-sys)](https://crates.io/crates/cubecl-hip-sys)\n[![Test Status](https://github.com/tracel-ai/cubecl-hip/actions/workflows/ci.yml/badge.svg)](https://github.com/tracel-ai/cubecl-hip/actions/workflows/ci.yml)\n![license](https://shields.io/badge/license-MIT%2FApache--2.0-blue)\n\n---\n\n\u003cbr/\u003e\n\u003c/div\u003e\n\nThis repository contains Rust bindings for AMD ROCm HIP runtime libraries (hiprtc, amdhip64) used by CubeCL.\n\n## ⚠️ Notes\nThese bindings are unsafe as they are just the raw bindings generated by bindgen with no improvements.\n\n## Limitations\n\n- Works only on Linux\n- Bindings generated for AMD GPUs only\n\n## Prerequisites\n\nInstall ROCm following the [ROCm documentation][1]:\n\n## Versioning Scheme\n\nThe crates in this repository follow the same versioning as HIP. Note that HIP version is somewhat different than ROCm version.\nThe patch number of HIP version is a monotonic number that uniquely identify the version of HIP.\n\nMoreover we concatenate two additional digits to the HIP patch version in order to be able to release fixes for the same HIP patch\nnumber.\n\nFor instance `7.0.5183100` represents the first release of the bindings for HIP `51831` of ROCm `7.0.x` and `7.0.5183101` represents the second release for these same bindings.\n\nThis versioning scheme is in place as of May 2025, any previous version of this crate followed a different versioning scheme based\non ROCm version instead of HIP.\n\nNote also that multiple versions of ROCm can ship the same version of HIP.\n\n## Usage\n\nAdd the crate [cubecl-hip-sys][2] to the `Cargo.toml` file of your project. Cargo will select the HIP version returned by\nthe `hipconfig` utility.\n\nTo specify a different version of HIP manually set the environment variable HIP_PATH to a valid HIP installation path. You can\nverify that your system points to the expected version with the command `hipconfig --version`.\n\nRemark: Don't set manually the `hip_xxx` feature for this crate. This is the responsibility of the `build.rs` script to set it\naccordingly to your `hipconfig` output.\n\nHere is the table of the available bindings versions, the deprecated ones could theoretically still be used but the versioning scheme was not stable.\n\n| HIP Version | ROCm Version Range | Minimum crate version to use |\n|:------------|:-------------------|------------------------------|\n| 41134       | 6.2.2~6.2.4        | deprecated                   |\n| 42131       | 6.3.0              | deprecated                   |\n| 42133       | 6.3.1              | deprecated                   |\n| 42134       | 6.3.2~6.3.4        | deprecated                   |\n| 43482       | 6.4.0              | 6.4.4348201                  |\n| 43483       | 6.4.1              | 6.4.4348300                  |\n| 43484       | 6.4.2~6.4.3        | 6.4.4348400                  |\n| 51831       | 7.0.0~7.0.1        | 7.0.5183101                  |\n| 25424       | 7.1.0              | Not released (*)             |\n| 52802       | 7.1.1              | 7.1.5280200                  |\n\n(*) These HIP patch version seems wrong, see reported issue: https://github.com/ROCm/hip/issues/3881\n\n## Running tests\n\nTo run tests you need to first meet the expectations for `Prerequisites` section.\n\nThen execute the following xtask command:\n\n```sh\n# test ROCm bindings against the system default ROCm installation if found\ncargo xtask test\n# test a specific version that is not the default by providing a value for HIP_PATH using -p\ncargo xtask test -p /opt/rocm-7.0.0\n```\n\n## Generate bindings for a given version of ROCm\n\n1) To generate the bindings you first need to meet the expectations for `Prerequisites` section.\n\n2) Make sure that `hipconfig` returns the path of the HIP version you want to wrap. Adapt the `HIP_PATH`\nenvironment variable to point to the version you are interested in.\n\n3) Generate the bindings using the dedicated xtask command `bindgen`:\n\n```sh\ncargo xtask bindgen\n```\n\n4) Declare a new `hip` feature in the `Cargo.toml` in `cubecl-hip-sys` crate with the format\n`hip_\u003cpatch_version\u003e`. You can retrieve the patch version with the command `hipconfig --version`.\nFor instance for a new HIP patch version which is `51831` add the following feature:\n\n```toml\n[features]\nhip_51831 = []\n```\n\n5) Add the generated bindings module to the file `crates/cubecl-hip-sys/src/bindings/mod.rs`\nconditionally to the new feature you just declared as well as the re-exports:\n\n```rs\n#[cfg(feature = \"hip_51831\")]\nmod bindings_51831;\n#[cfg(feature = \"hip_51831\")]\npub use bindings_51831::*;\n```\n\n5) Run the tests as explain in the previous section.\n\n6) Open a pull request with the modifications, do not forget to add the new generated bindings\nfile in the `crates/cubecl-hip-sys/src/bindings/` directory.\n\n7) Note that the CI runner might need to be updated by an administrator so that the new HIP version is available\non the runner.\n\n[1]: https://rocmdocs.amd.com/projects/install-on-linux/en/latest/install/detailed-install.html\n[2]: https://crates.io/crates/cubecl-hip-sys\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftracel-ai%2Fcubecl-hip-sys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftracel-ai%2Fcubecl-hip-sys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftracel-ai%2Fcubecl-hip-sys/lists"}