OS X不自带OpenMP,似乎xgboost不能多线程,超慢的样子,虽然xgboost官网有装openmp的教程,但是我试了没有成功。
xgboost官网安装教程:http://xgboost.readthedocs.io/en/latest/build.html
里面说brew install gcc --without-multilib然后就能make成功,但是我就make不成功。
后来发现brew帮我装的gcc5,但是终端gcc -v看到的是gcc4.3,是xcode里带的。怎样才能切成gcc5呢?
查了一下,发现要这样:
http://stackoverflow.com/questions/837992/update-gcc-on-osx
里面说
如果你装了port,能装个gcc_select,然后就能选gcc版本
/opt/local/bin/port install gcc_select
用这个来看你有的版本
port select --list gcc
选gcc版本
sudo port select --set gcc mp-gcc5
哇,然后就能按照官网说的正常make了
git clone --recursive https://github.com/dmlc/xgboost cd xgboost; cp make/config.mk ./config.mk; make -j4然后搞一下就能在python里用了
cd python-package; sudo python setup.py install
总结一下,全体套路是这样:
装个port
装个brew
然后搞一堆这些脚本(全搞进去大概能行,也说不定,最好还是按上面说的一步步来 ):
<pre name="code" class="plain">brew install gcc --without-multilib
/opt/local/bin/port install gcc_select
sudo port select --set gcc mp-gcc5
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost; cp make/config.mk ./config.mk; make -j4
cd python-package; sudo python setup.py install