Hi,
We are using the Axelera Metis PCIe AI accelerator card with a ZCU102 evaluation board as the host system. We are facing a critical compatibility issue when running the Voyager SDK on the ZCU102.
---
Setup Details:
- Host Board: AMD Xilinx ZCU102 (Zynq UltraScale+ MPSoC)
- Host CPU: Quad-core ARM Cortex-A53 (ARMv8.0-A)
- OS: Custom Yocto Linux (kernel 6.12.10-xilinx)
- Axelera Card: Metis PCIe AI Accelerator
- Voyager SDK Version: Latest (installed via install.sh --no-driver --media)
- metis Driver Version: 1.4.16 (loads successfully)
---
Issue:
When running inference.py or importing axelera.app, the process crashes immediately with:
Illegal instruction (core dumped)
SIGILL (signal 4)
---
Root Cause Identified:
After detailed debugging, we found that the Voyager SDK Python packages (scipy, torch, cv2, grpc, onnx etc.) are compiled with LSE (Large System Extensions) atomic instructions such as ldadd, stadd, swpa, cas.
The ZCU102 Cortex-A53 is ARMv8.0-A which does NOT support LSE instructions. LSE is only available from ARMv8.1-A onwards.
Verification:
- cat /proc/cpuinfo shows no 'atomics' in CPU Features
- objdump of SDK .so files confirms ldadd/stadd LSE instructions present
- import axelera works fine (ARMv8.0 compatible)
- import axelera.app crashes (LSE instructions in dependencies)
---
Question:
1. Is there a Voyager SDK build available that is compiled for ARMv8.0-A (without LSE) to support Cortex-A53 hosts like ZCU102?
2. If not, is ZCU102 / Cortex-A53 a supported host configuration?
3. If Cortex-A53 is not supported, what is the minimum ARM host CPU required?
Please advise on the recommended path forward.
Thank you
