{"id":22054758,"url":"https://github.com/ROCm/hipBLAS","last_synced_at":"2025-07-23T23:30:51.532Z","repository":{"id":37219179,"uuid":"87837596","full_name":"ROCm/hipBLAS","owner":"ROCm","description":"ROCm BLAS marshalling library","archived":false,"fork":false,"pushed_at":"2024-11-25T18:23:59.000Z","size":11124,"stargazers_count":121,"open_issues_count":5,"forks_count":78,"subscribers_count":38,"default_branch":"develop","last_synced_at":"2024-11-25T19:29:23.692Z","etag":null,"topics":["blas","cuda","hip","rocm"],"latest_commit_sha":null,"homepage":"https://rocm.docs.amd.com/projects/hipBLAS/en/latest/index.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ROCm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.rst","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":"2017-04-10T17:18:56.000Z","updated_at":"2024-11-25T18:23:59.000Z","dependencies_parsed_at":"2023-12-29T19:21:23.298Z","dependency_job_id":"e6ecee0a-1ab2-4713-b55c-c1f61a993d98","html_url":"https://github.com/ROCm/hipBLAS","commit_stats":{"total_commits":572,"total_committers":43,"mean_commits":13.30232558139535,"dds":0.7447552447552448,"last_synced_commit":"9826de2ab45ae8af0f74c52b2d2e83f8bebe1933"},"previous_names":["rocm/hipblas","rocmsoftwareplatform/hipblas"],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipBLAS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipBLAS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipBLAS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipBLAS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ROCm","download_url":"https://codeload.github.com/ROCm/hipBLAS/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227130137,"owners_count":17735098,"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":["blas","cuda","hip","rocm"],"created_at":"2024-11-30T16:01:42.792Z","updated_at":"2025-07-23T23:30:51.523Z","avatar_url":"https://github.com/ROCm.png","language":"C++","readme":"# hipBLAS\n\nhipBLAS is a Basic Linear Algebra Subprograms (BLAS) marshalling library with multiple supported\nbackends. It sits between your application and a 'worker' BLAS library, where it marshals inputs to the\nbackend library and marshals results to your application.  hipBLAS exports an interface that doesn't\nrequire the client to change, regardless of the chosen backend. Currently, hipBLAS supports rocBLAS\nand cuBLAS backends.\n\nTo use hipBLAS, you must first install rocBLAS, rocSPARSE, and rocSOLVER or cuBLAS.\n\n## Documentation\n\n\u003e [!NOTE]\n\u003e The published hipBLAS documentation is available at [hipBLAS](https://rocm.docs.amd.com/projects/hipBLAS/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 hipBLAS/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\nTo build our documentation locally, use the following code:\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\nAlternatively, build with CMake:\n\n```bash\ncmake -DBUILD_DOCS=ON ...\n```\n\n\n## Build and install\n\n1. Download the hipBLAS source code (clone this repository):\n\n    ```bash\n        git clone https://github.com/ROCmSoftwarePlatform/hipBLAS.git\n    ```\n\n    ```note\n        hipBLAS requires specific versions of rocBLAS and rocSOLVER. Refer to\n        [CMakeLists.txt](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/library/CMakeLists.txt)\n        for details.\n    ```\n\n2. Build hipBLAS and install it into `/opt/rocm/hipblas`:\n\n    ```bash\n        cd hipblas\n        ./install.sh -i\n    ```\n\n## Interface examples\n\nThe hipBLAS interface is compatible with rocBLAS and cuBLAS-v2 APIs. Porting a CUDA application\nthat originally calls the cuBLAS API to an application that calls the hipBLAS API is relatively\nstraightforward. For example, the hipBLAS SGEMV interface is:\n\n### GEMV API\n\n```c\nhipblasStatus_t\nhipblasSgemv( hipblasHandle_t handle,\n              hipblasOperation_t trans,\n              int m, int n, const float *alpha,\n              const float *A, int lda,\n              const float *x, int incx, const float *beta,\n              float *y, int incy );\n```\n\n### Batched and strided GEMM API\n\nhipBLAS GEMM can process matrices in batches with regular strides by using the strided-batched\nversion of the API:\n\n```c\nhipblasStatus_t\nhipblasSgemmStridedBatched( hipblasHandle_t handle,\n              hipblasOperation_t transa, hipblasOperation_t transb,\n              int m, int n, int k, const float *alpha,\n              const float *A, int lda, long long bsa,\n              const float *B, int ldb, long long bsb, const float *beta,\n              float *C, int ldc, long long bsc,\n              int batchCount);\n```\n\nhipBLAS assumes matrix A and vectors x, y are allocated in GPU memory space filled with data. You\nare responsible for copying data to and from the host and device memory.\n","funding_links":[],"categories":["Libraries 🗂️"],"sub_categories":["GPU Libraries ⚡"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FROCm%2FhipBLAS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FROCm%2FhipBLAS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FROCm%2FhipBLAS/lists"}