neo-ai / neo-ai-dlr

Neo-AI-DLR is a common runtime for machine learning models compiled by AWS SageMaker Neo, TVM, or TreeLite.
Apache License 2.0
491 stars 106 forks source link

Sagemaker Neo Compilation for ARM64 #201

Open stevenpandiri opened 4 years ago

stevenpandiri commented 4 years ago

Hi,

I need to compile model for ARM64 based robotics board. My board is not in the list of target instances. Can I still compile? Also, my board supports Linux kernel 4.9, GLIBC_2.23

A model that I could compile choosing one of the target instances generated ARM64 .so file but is referencing a symbol LIBC which is not found in libc.so.6

/home/model # ldd model.so ./model.so: /lib/aarch64-linux-gnu/libc.so: version `LIBC' not found (required by ./model.so) linux-vdso.so.1 => (0x0000007f7ddc1000) libm.so => /lib/aarch64-linux-gnu/libm.so (0x0000007f7dca1000) libdl.so => /lib/aarch64-linux-gnu/libdl.so (0x0000007f7dc8e000) libc.so => /lib/aarch64-linux-gnu/libc.so (0x0000007f7db47000) /lib/ld-linux-aarch64.so.1 (0x0000007f7dd96000)

Any help in this regard will be greatly appreciated

thanks a ton

TylerADavis commented 4 years ago

Hi,

Using a feature that launched recently, you should now be able to build for your board.

Rather than select a Target Device, you should click a radio button labeled Target Platform in the Output Configuration step on the compilation console.

Here you will want to set OS to Linux and Arch to AArch64. If you know what additional capabilities your processor has, you can tell the compiler to use those features via the compiler options field.

stevenpandiri commented 4 years ago

Thank you, will try this