Hello tvm community,
Can you advise me about TVM_NDK_CC and target settings for arch=ARMv8-A, part=cortex-A53?
I would like to cross-compile TVM-based MXNet model for an android device based on arch=ARMv8-A, part=cortex-A53.
I’ve been stuck in “loading model” for quite long time.
==> Module modelLib = Module.load(libCacheFilePath);
First of all, should I create *.o using this command <-- lib.save(path_o)?
or should I create ***.so using this command <-- lib.export_library(path_so, ndk.create_shared)?
Could you advise on how to set there options - TVM_NDK_CC and target?
I have used several combinations for these.
For TVM_NDK_CC, I tried:
aarch64-linux-android-clang
aarch64-linux-android-gcc
arm-linux-androideabi-clang
arm-linux-androideabi-gcc
I used the following command to create aarch64 toolchains (for aarch64-).
./make-standalone-toolchain.sh --toolchain=aarch64-linux-android-4.9 --platform=android-22 --use-llvm
I used the following command to create arm (32bits) toolchains (for arm-),
./make-standalone-toolchain.sh --platform=android-22 --use-llvm --arch=arm
For target, I tried:
target = ‘llvm -target=armv8a-arm-linux-android -mfloat-abi=soft -mcpu=cortex-a53’
target = ‘llvm -target=armv8a-arm-none-eabi -mfloat-abi=soft -mcpu=cortex-a53’
target = ‘llvm -target=armv7-none-linux-androideabi -mfloat-abi=soft -mcpu=cortex-a53’
target = ‘llvm -target=armv7-none-linux-androideabi -mfloat-abi=soft’
and more…