huawei-noah / bolt

Bolt is a deep learning library with high performance and heterogeneous flexibility.
https://huawei-noah.github.io/bolt/
MIT License
918 stars 160 forks source link

android平台编译失败 #107

Closed likefxz2009 closed 2 years ago

likefxz2009 commented 2 years ago

首先已经配置了ANDROID_NDK_ROOT,其次尝试linux和macos交叉编译Android都失败 macos: image Linux: image

看着都是在编译protobuf的时候失败了

likefxz2009 commented 2 years ago

更新:macos上编译成功了,原因是少了一句 export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin:$PATH 还是在Workflow里找到的,感觉可以提示一下啊

likefxz2009 commented 2 years ago

顺便问一下,我看bolt里面支持了attention算子,但是直接拿transformer的onnx模型转换到bolt仍然是一些零碎的op,请问要如何做才能让他转换成Attention op

yuxianzhi commented 2 years ago

Bolt的attention算子是变长的attention mask部分,只有从caffe模型输入的才会有。有一个大算子multiheadattention,是为GPU实现的,目前还未使用。

yuxianzhi commented 2 years ago

感谢提醒,出现这个错误原因是macos自带了clang编译器,与android的clang交叉编译器同名,所以在部分地方错误使用macos的clang, https://github.com/huawei-noah/bolt/blob/master/scripts/setup_compiler.sh#L31 已经交换PATH设置顺序,修复

yuxianzhi commented 2 years ago

linux的编译错误或许是下载的android编译器问题,可以尝试换用android ndk22

likefxz2009 commented 2 years ago

linux的编译错误或许是下载的android编译器问题,可以尝试换用android ndk22

好的,应该是之前下载的ndk不完整