GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ROCm/hipBLAS: [DEPRECATED] Moved to ROCm/rocm-libraries repo

BranchesTags
Open more actions menu

Latest commit

 

History

1,270 Commits
1,270 Commits

Folders and files

NameName
Last commit message
Last commit date
.azuredevops
.azuredevops
 
 
.githooks
.githooks
 
 
.github
.github
 
 
.jenkins
.jenkins
 
 
clients
clients
 
 
cmake
cmake
 
 
deps
deps
 
 
docs
docs
 
 
library
library
 
 
scripts/performance
scripts/performance
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
bump_develop_version.sh
bump_develop_version.sh
 
 
install.sh
install.sh
 
 
rdeps.py
rdeps.py
 
 
rdeps.xml
rdeps.xml
 
 
rmake.py
rmake.py
 
 
rtest.py
rtest.py
 
 
rtest.xml
rtest.xml
 
 
toolchain-linux.cmake
toolchain-linux.cmake
 
 
toolchain-windows.cmake
toolchain-windows.cmake
 
 

Repository files navigation

hipBLAS

Caution

The hipBLAS repository is retired, please use the ROCm/rocm-libraries repository

hipBLAS is a Basic Linear Algebra Subprograms (BLAS) marshalling library with multiple supported backends. It sits between your application and a 'worker' BLAS library, where it marshals inputs to the backend library and marshals results to your application. hipBLAS exports an interface that doesn't require the client to change, regardless of the chosen backend. Currently, hipBLAS supports rocBLAS and cuBLAS backends.

To use hipBLAS, you must first install rocBLAS, rocSPARSE, and rocSOLVER or cuBLAS.

Documentation

Note

The published hipBLAS documentation is available at hipBLAS 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.

To build our documentation locally, use the following code:

cd docs

pip3 install -r sphinx/requirements.txt

python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html

Alternatively, build with CMake:

cmake -DBUILD_DOCS=ON ...

Build and install

  1. Download the hipBLAS source code (clone this repository):

        git clone https://github.com/ROCmSoftwarePlatform/hipBLAS.git
        hipBLAS requires specific versions of rocBLAS and rocSOLVER. Refer to
        [CMakeLists.txt](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/library/CMakeLists.txt)
        for details.
    
  2. Build hipBLAS and install it into /opt/rocm/hipblas:

        cd hipblas
        ./install.sh -i

Interface examples

The hipBLAS interface is compatible with rocBLAS and cuBLAS-v2 APIs. Porting a CUDA application that originally calls the cuBLAS API to an application that calls the hipBLAS API is relatively straightforward. For example, the hipBLAS SGEMV interface is:

GEMV API

hipblasStatus_t
hipblasSgemv( hipblasHandle_t handle,
              hipblasOperation_t trans,
              int m, int n, const float *alpha,
              const float *A, int lda,
              const float *x, int incx, const float *beta,
              float *y, int incy );

Batched and strided GEMM API

hipBLAS GEMM can process matrices in batches with regular strides by using the strided-batched version of the API:

hipblasStatus_t
hipblasSgemmStridedBatched( hipblasHandle_t handle,
              hipblasOperation_t transa, hipblasOperation_t transb,
              int m, int n, int k, const float *alpha,
              const float *A, int lda, long long bsa,
              const float *B, int ldb, long long bsb, const float *beta,
              float *C, int ldc, long long bsc,
              int batchCount);

hipBLAS assumes matrix A and vectors x, y are allocated in GPU memory space filled with data. You are responsible for copying data to and from the host and device memory.

About

[DEPRECATED] Moved to ROCm/rocm-libraries repo

github.com/ROCm/rocm-libraries

Topics

blascudahiprocm

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

154 stars

Watchers

35 watching

Forks

86 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.