Mac 编译 XGBoost for Android

Mac 编译 XGBoost for Android,第1张

xgboost 的官方源码: https://github.com/dmlc/xgboost

因为 mac 已经使用 clang 代替 gcc,不支持 OpenMp,需要先安装相关库闹搭: brew install libomp

安装 NDK 最新版本,本次使用 NDK-r16b

确保 clang 版本支持-fopenmp 参数

Mac OS 版本 10.15+

以下是本机环境,通过 brew config 查看

创建 build_32.sh 脚本:

在源码根目录下创建 build_android 目录,并在目录下执行脚本:

源码根目录 /lib 下,会产生 libxgboost.so

将近 60MB... 囧rz

源码目录下,demo/c-api 即为 C 语音版本接口 Demo,修改 CMakeList.txt ,以便进行交叉编译

在源码根目录下创建 build_android 目录,并在目录下执行脚本,脚液顷拿本内容与前文一致:

push 以下文件到 Android 手机的 /data/local/tmp 目录下:

编译产物: api-demo

模型训练和测试数据: agaricus.txt.test, agaricus.txt.train

xgboost 动态乎皮库: libxgboost.o

可以看到 demo 执行结果,就不贴图了

如何使用OpenFL在MacBookPro M1芯片编译Android版本,M1芯片Mac系统自带的JDK基本都是17版本,编译时会有不兼容的现象。该流程适用于OpenFL9.1.0。

结果参考(JVM是15.0.6版本、Gradle6.3环境编译稳定或型念):

当编译出现这个错误时,一般是指JDK的版本没有对应上,太高、或者太低等。如果按照上面的步骤正常处理,这个问题会直接消失。

无法找到该类型租猛时,一般升衫困级Gradle的编译版本为6.3即可,请参考上方提及到的project.xml配置。

如果使用到queries的标签时,会有编译异常的情况,可以升级到对应补丁的gradle插件,版本对应:3.3.3、3.4.3、3.5.4、3.6.4、4.0.1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12391701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存