ROCm 5.5 and newer
Clone the code from our repo
git clone https://github.com/ROCmSoftwarePlatform/xgboost
cd xgboost
git checkout master-rocm
or a tag/branch with rocm suffix, such as v2.0.1-rocm
XGBoost ROCm support requires a few modules, which can be initialized as,
git submodule update --init --recursive
The following export may be required for some systems, and the ROCm path depends on installation,
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/opt/rocm/lib/cmake:/opt/rocm/lib/cmake/AMDDeviceLibs/
mkdir build
cd build
cmake -DUSE_HIP=ON ../
- or
cmake -DUSE_HIP=1 ../
- or
cmake -DUSE_HIP=1 -DUSE_RCCL=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
To compile, run command,
make -j
After compilation, XGBoost can be installed as a Python package and supports a wide range of applications,
cd python-package/
pip3 install .
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"
...