How to install Xgboost on macOS compiled with GPU Support?

浪尽此生 提交于 2021-02-10 12:48:26

问题


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


回答1:


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


来源:https://stackoverflow.com/questions/65103861/how-to-install-xgboost-on-macos-compiled-with-gpu-support

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!