Ubuntu16.04 编译 OpenBLAS for Android(更新版)

Ubuntu16.04 编译 OpenBLAS for Android(更新版)

本文是https://blog.csdn.net/lj402159806/article/details/85691400这篇OpenBLAS编译部分的更新版

编译版本

  • OpenBLAS-0.3.6

  • ndk-r20

编译环境

首先需要安装sdk tools,然后通过sdkmanager安装cmake和ndk

mkdir sdk && cd sdk
#下载sdk tools
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
#解压sdk tools
unzip sdk-tools-linux-4333796.zip
cd tools/bin
#查看sdk列表
./sdkmanager --list
#安装cmake和ndk
./sdkmanager "ndk-bundle"

编译OpenBLAS

ARMV7

cd $OPENBLAS_SOURCE
#将ndk目录加入环境变量
export NDK=${HOME}/Android/sdk/ndk-bundle
#将toolchain目录加入环境变量
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
#编译ARMV7a环境静态库
make \
    TARGET=ARMV7 \
    ONLY_CBLAS=1 \
    CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang \
    AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar \
    HOSTCC=gcc \
    ARM_SOFTFP_ABI=1 \
    -j4
#安装静态库
make PREFIX=./android-openblas/armv7a install

ARMV8

cd $OPENBLAS_SOURCE
#将ndk目录加入环境变量
export NDK=${HOME}/Android/sdk/ndk-bundle
#将toolchain目录加入环境变量
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
#编译ARMV8环境静态库
make \
    TARGET=CORTEXA57 \
    ONLY_CBLAS=1 \
    CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang \
    AR=$TOOLCHAIN/bin/aarch64-linux-android-ar \
    HOSTCC=gcc \
    -j4
#安装静态库
make PREFIX=./android-openblas/arm64 install

编译完android-openblas目录下会有相应构架的头文件与库文件

参考

https://github.com/xianyi/OpenBLAS/issues/2005
https://github.com/xianyi/OpenBLAS/wiki/How-to-build-OpenBLAS-for-Android
https://developer.android.com/ndk/guides/other_build_systems
https://developer.android.com/ndk/guides/cmake

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值