Skip to main content
Question

Voyager SDK SIGILL Crash on ZCU102 Cortex-A53 (ARMv8.0-A) — LSE Incompatibility

  • May 26, 2026
  • 1 reply
  • 25 views

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

1 reply

Spanner
Axelera Team
Forum|alt.badge.img+3
  • Axelera Team
  • May 26, 2026

Hi ​@PavanKalyan!

Really thorough diagnostic, thanks for the detail!

The short answers:

  1. There's no separate ARMv8.0-A native build of the SDK. The Python dependency stack pulled by install.sh assumes ARMv8.1-A+ atomics.
  2. ZCU102 isn't on the list of validated host platforms at the moment. Our recently validated platforms for 1.6 are x86 (Dell Pro Slim Plus XE5, AsRock NUC Box-125). We’ll keep an eye on that, though.
  3. That said, we do have Cortex-A53 hosts running 1.6.0 internally via the Docker workflow rather than the native installer. If Docker is an option for your deployment, that's the path I'd suggest trying first.

Is it a production project you’re working on, or an evaluation? Be interesting to hear more about what you’re working on!