Installation on Windows#
This document provides information required to install and configure rocALUTION on Windows.
Prerequisites#
An AMD HIP SDK-enabled platform. For more information, refer to the ROCm documentation.
rocALUTION is supported on the same Windows versions and toolchains that are supported by the HIP SDK.
Note
As the AMD HIP SDK is under continuous development, the information updated regarding the SDK’s internal contents may overrule the statements in this document on installing and building on Windows.
Installing prebuilt packages#
rocALUTION can be installed on Windows 11 or Windows 10 using the AMD HIP SDK installer.
The simplest way to use rocALUTION in your code is to use CMake
that requires you to add the SDK installation location to your
DCMAKE_PREFIX_PATH. Note that you need to use quotes as the path contains a space, e.g.,
-DCMAKE_PREFIX_PATH="C:\Program Files\AMD\ROCm\5.5"
After CMake configuration, in your CMakeLists.txt
use:
find_package(rocalution)
target_link_libraries( your_exe PRIVATE roc::rocalution )
Once rocALUTION is installed, you can find rocalution.hpp
in the HIP SDK \\include\\rocalution
directory. Use only the installed file in the user application if needed.
You must include rocalution.hpp
header file in the user code to make calls
into rocALUTION, so that the rocALUTION import library and dynamic link library become the respective link-time and run-time
dependencies for the user application.
Building and installing rocALUTION#
Building from source is not necessary, as rocALUTION can be used after installing the pre-built packages as described above. If desired, you can follow the instructions below to build rocALUTION from source.
Requirements#
CMake 3.5 or later
AMD ROCm 2.9 or later (optional, for HIP support)
rocSPARSE (optional, for HIP support)
rocBLAS (optional, for HIP support)
rocPRIM (optional, for HIP support)
OpenMP (optional, for OpenMP support)
MPI (optional, for multi-node / multi-GPU support)
googletest (optional, for clients)
Download rocALUTION#
The rocALUTION source code, which is the same as for the ROCm linux distributions, is available at the rocALUTION github page.
The version of the ROCm HIP SDK may be shown in the path of default installation, but
you can run the HIP SDK compiler to report the version from the bin/
folder using:
hipcc --version
The HIP version has major, minor, and patch fields, possibly followed by a build-specific identifier. For example, a HIP version 5.4.22880-135e1ab4 corresponds to major = 5, minor = 4, patch = 22880, and build identifier 135e1ab4.
There are GitHub branches at the rocALUTION site with names release/rocm-rel-major.minor
where major and minor are the same as in the HIP version.
To download rocALUTION, use:
git clone -b release/rocm-rel-x.y https://github.com/ROCmSoftwarePlatform/rocALUTION.git
cd rocALUTION
Replace x.y
in the above command with the version of HIP SDK installed on your machine. For example, if you have HIP 5.5 installed, then use -b release/rocm-rel-5.5
.
You can add the SDK tools to your path using:
%HIP_PATH%\bin
Build#
Below are the steps required to build using the rmake.py
script. The user can build either of the following:
library
library and client
You only need (library) if you call rocALUTION from your code and want to build the library alone.
The client contains testing and benchmarking tools. rmake.py
prints the full cmake
command being used to configure rocALUTION based on your rmake
command-line options.
This full cmake
command can be used in your own build scripts if you want to bypass the Python helper script for a fixed set of build options.
Build library#
Common uses of rmake.py
to build (library) are listed below:
Command |
Description |
---|---|
|
Help information. |
|
Builds library. |
|
Builds library, then
builds and installs
rocALUTION package.
If you want to keep
rocALUTION in your local
tree, don’t use |
Build library and client#
Some client executables (.exe) are listed below:
Executable name |
Description |
---|---|
|
Runs Google Tests to test the library |
|
Executable to benchmark or test functions |
|
Executes conjugate gradient example
(must download |
Common uses of rmake.py
to build (library and client) are listed below:
Command |
Description |
---|---|
|
Help information. |
|
Builds library and client in your local directory. |
|
Builds and installs
rocALUTION package, and
builds the client.
If you want to keep
rocALUTION in your local
directory, don’t use |