Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install Xgboost on macOS compiled with GPU Support?

I am trying to install xgboost integrated with GPU support, on my MacOS Mojave(10.14.6) from last 3 days, however, no success has been reached. I tried 2 approaches:

  1. pip install xgboost

xgboost is installed here and it runs successfully without GPU option(i.e., without tree_method=’gpu_hist’).

I want to run with gpu_hist by giving “tree_method=’gpu_hist’ ” in tree parameters. When I gave “tree_method=’gpu_hist’ ” in tree parameters, following error has come:

XGBoostError: [12:10:34] /Users/travis/build/dmlc/xgboost/src/gbm/../common/common.h:153: XGBoost version not compiled with GPU support.
Stack trace:
[bt] (0) 1 libxgboost.dylib 0x000000012256ba60 dmlc::LogMessageFatal::~LogMessageFatal() + 112
[bt] (1) 2 libxgboost.dylib 0x00000001225f92b3 xgboost::gbm::GBTree::ConfigureUpdaters() + 531
[bt] (2) 3 libxgboost.dylib 0x00000001225f8b97 xgboost::gbm::GBTree::Configure(std::__1::vector<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > const&) + 967
[bt] (3) 4 libxgboost.dylib 0x0000000122611a0c xgboost::LearnerConfiguration::Configure() + 1500
[bt] (4) 5 libxgboost.dylib 0x0000000122611e68 xgboost::LearnerImpl::UpdateOneIter(int, std::__1::shared_ptr) + 120
[bt] (5) 6 libxgboost.dylib 0x000000012256331d XGBoosterUpdateOneIter + 157
[bt] (6) 7 libffi.7.dylib 0x0000000102102ead ffi_call_unix64 + 85
[bt] (7) 8 ??? 0x00007ffeee291da0 0x0 + 140732894092704
  1. My second approach:

    git clone –recursive https://github.com/dmlc/xgboost cd xgboost/ make -j4 cd python-package python3 setup.py install

    Though it installs xgboost, but throws following error whille running this statement: dtrain=xgb.DMatrix(df_train_features,label=df_train_label)#,missing=-999)

    AttributeError: dlsym(0x7ffe9aed62f0, XGDMatrixSetDenseInfo): symbol not found

Any help would be appreciated

like image 400
Mins Avatar asked Nov 06 '22 03:11

Mins


1 Answers

The same happened to me due to outdated libxgboost.so that somehow wasn't updated during fresh install.

To resolve the issue and install xgboost with GPU support you should do something like:

# remove libxgboost.so manually from where it resides
rm /home/$USER/anaconda3/lib/libxgboost.so 
pip uninstall -y xgboost 
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost && mkdir build && cd build && cmake .. -DUSE_CUDA=ON
make -j12
cd ../python-package
python setup.py install
like image 120
Sergey Bushmanov Avatar answered Nov 12 '22 16:11

Sergey Bushmanov