-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Describe the issue
The problem only exist on the latest onnxruntime-linux-aarch64-1.21.0, previous 1.20 works well.
I use onnxruntime to test very small model on aarch64 platform with C++ just as:
g++ inference.cpp -I./onnxruntime-linux-aarch64-1.21.0/include/ -L./onnxruntime-linux-aarch64-1.21.0/lib -lonnxruntime -lm -o inference -std=c++17 -g
Compile successfully and get error when run real board(aarch64): Illegal instruction.
But it works well when I run it on a simulated arm64v8 guest on docker x86 host. works well when recompile and run on x86.
To reproduce
run the attached package on aarch64 platform
sadmin@ogic:/for_aarch64$ uname -a/for_aarch64$ bash run.sh onnxruntime-linux-aarch64-1.21.0
Linux ogic 5.4.3+gc05efad #1 SMP PREEMPT Wed Dec 6 03:05:59 UTC 2023 aarch64 GNU/Linux
sadmin@ogic:
run.sh: line 29: 2195215 Illegal instruction ./inference
sadmin@ogic:~/for_aarch64$ bash run.sh onnxruntime-linux-aarch64-1.20.0
Input name: input
Output name: output
xs: 0 0.111111 0.222222 0.333333 0.444444 0.555556 0.666667 0.777778 0.888889 1
real: 1 0.993833 0.97541 0.944957 0.90285 0.849608 0.785887 0.712475 0.630275 0.540302
ys_est: 1.00056 0.995229 0.977492 0.947438 0.905343 0.85169 0.787173 0.712683 0.629284 0.538175
Urgency
No response
Platform
Linux
OS Version
Debian GNU/Linux 11
ONNX Runtime Installation
Released Package
ONNX Runtime Version or Commit ID
onnxruntime-linux-aarch64-1.21.0
ONNX Runtime API
Python
Architecture
X64
Execution Provider
Default CPU
Execution Provider Library Version
No response