xgboost/README-ROCm.md
2024-03-12 09:53:10 -07:00

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"
...
```