Skip to content
Andrew Chapman edited this page Apr 17, 2017 · 31 revisions

hipBLAS is a thin interface that can be called from hcc or nvcc platforms. In the hipBLAS configure step the command hipconfig is called to determine if hipBLAS should be built for hcc or nvcc. When you include the file hipBLAS.h in your project in order to call hipBLAS functions, the hipcc compiler determines that the platform is hcc if the macro __HIP_PLATFORM_HCC__ is defined, and the platform is nvcc if the macro __HIP_PLATFORM_NVCC__ is defined.

Operating Systems

Linux only

Platform, hcc or nvcc

hipBLAS is written with HiP so it can run with AMD's ROCM or NVIDIA's CUDA hardware.

For AMD platform and Ubuntu, ROCM can be installed with sudo apt-get install rocm. For other platforms, see install ROCM. HIP is contained in ROCM.

To verify the installation of ROCM see install ROCM

Alternatively, for either AMD or NVIDIA, install HIP. To check that HIP is installed, enter the command hipconfig. This should output information on the HIP installation.

Dependencies

CMake 2.8 or later

On Ubuntu you can install cmake, cmake-gui, and ccmake with the following:

sudo apt-get update
sudo apt-get install cmake
sudo apt-get install cmake-gui
sudo apt-get install cmake-curses-gui

rocBLAS

hipBLAS needs to access the include file /opt/rocm/rocblas/include/rocblas.h. Install rocBLAS in /opt/rocm/rocblas. Installation instructions are at the Wiki.

Macros required when including hipblas.h

The compiler should define one and only one of the following macros when compiling any file that includes the header hipblas.h:

__HIP_PLATFORM_HCC__
__HIP_PLATFORM_NVCC__

These are automatically defined by the hipcc compiler, so no definition is required if you use hipcc.

Download

Clone hipBLAS with the following commands: (Here it is assumed you will clone hipBLAS into the directory ~/repos/hipBLAS. You can choose to clone into any directory of your choice.)

cd ~; mkdir -p repos; cd repos
git clone -b master https://github.com/AMDComputeLibraries/hipBLAS.git

Configure

Configure using ccmake with the following:

mkdir ~/repos/hipBLAS-build
cd ~/repos/hipBLAS-build

cmake ../hipBLAS -DBUILD_LIBRARY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-fPIC

Build

Build with

cd ~/repos/hipBLAS-build
make VERBOSE=1 >& make.lib.out

Install

Install with the following:

cd ~/repos/hipBLAS-build/library-build
make install

After installing, the library libhipblas-hcc.a will be in the directory ~/repos/hipBLAS-build/library-package/lib. The include file hipblas.h will be in the directory ~/repos/hipBLAS-build/library-package/include. If you need the package installed in /opt/rocm/hipblas, copy with the following commands:

sudo mkdir -p /opt/rocm/hipblas
sudo cp -r ~/repos/hipBLAS-build/library-package /opt/rocm/hipblas

Build hipblas

Clone this wiki locally