65 lines
1.4 KiB
Markdown
65 lines
1.4 KiB
Markdown
# ROCm version
|
|
|
|
ROCm 5.5 and newer
|
|
|
|
# Code
|
|
Clone the code from our repo
|
|
|
|
1. `git clone https://github.com/ROCmSoftwarePlatform/xgboost`
|
|
1. `cd xgboost`
|
|
1. `git checkout master-rocm`
|
|
|
|
or a tag/branch with rocm suffix, such as v2.0.1-rocm
|
|
|
|
# Submodules
|
|
XGBoost ROCm support requires a few modules, which can be initialized as,
|
|
|
|
`git submodule update --init --recursive`
|
|
|
|
# Configure
|
|
The following export may be required for some systems, and the ROCm path depends on installation,
|
|
|
|
1. `export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/opt/rocm/lib/cmake:/opt/rocm/lib/cmake/AMDDeviceLibs/`
|
|
1. `mkdir build`
|
|
1. `cd build`
|
|
1. `cmake -DUSE_HIP=ON ../`
|
|
1. or `cmake -DUSE_HIP=1 ../`
|
|
1. or `cmake -DUSE_HIP=1 -DUSE_RCCL=1 ../`
|
|
1. or `cmake -DUSE_HIP=1 -DGOOGLE_TEST=1 ../`
|
|
|
|
The first command may be optional depending on system configure.
|
|
|
|
The **USE_HIP** macro enables HIP/ROCm support. **USE_RCCL** enables RCCL. **GOOGLE_TEST** enables Google test.
|
|
|
|
apt-get install libgtest-dev libgmock-dev
|
|
|
|
# Compile
|
|
To compile, run command,
|
|
|
|
`make -j`
|
|
|
|
# Python Support
|
|
After compilation, XGBoost can be installed as a Python package and supports a wide range of applications,
|
|
|
|
1. `cd python-package/`
|
|
1. `pip3 install .`
|
|
|
|
# Use AMD GPUs
|
|
When calling XGBoost, set the parameter `device` to `gpu` or `cuda`. Python sample,
|
|
|
|
```
|
|
params = dict()
|
|
params["device"] = "gpu"
|
|
params["tree_method"] = "hist"
|
|
...
|
|
```
|
|
|
|
or
|
|
|
|
```
|
|
params = dict()
|
|
params["device"] = "cuda"
|
|
params["tree_method"] = "hist"
|
|
...
|
|
```
|