xgboost 在 macOS 上的通用安装方法

June 7, 2017

根据官方文档,使用系统自带的 clang 编译出来的 xgboost 并不支持多线程。要使用多线程特性就需要用带有 OpenMP 的 gcc 来编译。没安装过 gcc 的还得先安装一个:

brew install gcc --without-multilib

然后就是下载 xgboost 的源码:

git clone --recursive https://github.com/dmlc/xgboost

在编译前,macOS 10.10 及以后的系统还需要修改 make 文件来指定使用的 gcc 版本,目前网络上大多数博客都是说要改为 gcc-6/g++-6 ,然而因为 gcc 的版本也会随着时间变化,我们也要根据系统安装的版本来作对应修改,例如在写这篇博客时我安装的是第七版,就应该把 Makefile 的 47 和 50 行以及 make/config.mk 的 20 和 21 行改为:

export CC = gcc-7
export CXX = g++-7

然后运行:

cd xgboost; cp make/config.mk ./config.mk; make -j4

等大约半小时后再安装编译后的 python 包:

cd python-package; sudo python setup.py install

Comments

comments powered by Disqus