Hi,
I’m looking to port a Rust based application deployed on K8s to a Jetson Orin development kit. I am trying to understand Jetson compatibility with Rust. The ORIN CPU is a 12-core Arm Cortex-A78AE which from what I can tell is a Tier 3 rust supported platform (Platform Support - The rustc book).
Is my assessment of the Jetson platform being a Tier 3 Rust supported platform correct? Or is it more like a raspberry pi: target = armv7-unknown-linux-gnueabihf?
I was wondering if anyone has experience developing Rust on a Jetson or if NVIDIA personnel could provide further assistance.
I am not familiar with Rust (the software kind). However, consider this specification: armv7-unknown-linux-gnueabihf
Except for the Jetson TK1 (very old, and 32-bit), none are armv7. They are all armv8 (ARMv8-a, 64-bit). The “gnuabihf” was part of the 32-bit support tool environment specification. This specified a calling convention for units with optional hardware floating point (this is mandatory in 64-bit, common in 32-bit, but it was optional in 32-bit). The “unknown” specification would have been for a compiler designed to work on bare metal (e.g., boot environment code could be compiled, whereas some compilers needed a user space environment with things like libraries and automatic local variables).
There is a 32-bit compatibility mode in ARMv8-a, but the CPU would have to be in that mode and performance would suffer. Mostly what you would use in any Jetson from the TX1 or newer is arm64/aarch64 (ARMv8-a 64-bit).
Thank you @DaneLLL and @linuxdev for your input/help! Looks like aarch64 is definitely worth a try. Which would be awesome as it is a Tier 1 supported platform.