SPE Support Issue on Jetson Orin Nano Developer Kit
Issue Overview
Users are experiencing difficulties enabling the Statistical Profiling Extension (SPE) on the Jetson Orin Nano Developer Kit. Despite the Arm Cortex-A78AE CPU cores supporting SPE according to the Technical Reference Manual, the system does not report SPE as being supported. This issue persists across different software configurations:
- Ubuntu 24.04 with kernel 6.8.0-41-generic (after JetPack 6.0 firmware upgrade)
- JetPack with kernel 5.15.136
The problem manifests as the absence of relevant entries in /sys/bus/event_source/devices
, indicating that the SPE functionality is not recognized by the system. This impacts users’ ability to utilize the Statistical Profiling Extension for performance analysis and optimization on the Jetson Orin Nano Developer Kit.
Possible Causes
-
Firmware Limitations: The current firmware may not properly enable or expose the SPE functionality to the operating system.
-
Kernel Configuration: Despite loading the arm_spe_pmu kernel module and passing the required
kpti=off
kernel parameter, the kernel may not be correctly configured to utilize SPE. -
Hardware Implementation: There might be discrepancies between the documented capabilities in the Technical Reference Manual and the actual implementation in the Jetson Orin Nano Developer Kit.
-
Software Compatibility: The SPE support might not be fully integrated or tested with the current JetPack and Ubuntu distributions used on the Jetson platform.
-
Missing Drivers or Modules: Additional drivers or kernel modules beyond arm_spe_pmu might be required to fully enable SPE functionality.
Troubleshooting Steps, Solutions & Fixes
-
Verify Hardware Capabilities:
- Review the Jetson Orin Nano Developer Kit module datasheet, specifically section 2.2, to confirm the exact CPU capabilities.
- Cross-reference this information with the Arm Cortex-A78AE Technical Reference Manual to ensure SPE support is indeed expected.
-
Check Kernel Configuration:
- Ensure the arm_spe_pmu kernel module is loaded:
lsmod | grep arm_spe_pmu
- Verify the kernel command line includes
kpti=off
:cat /proc/cmdline
- Ensure the arm_spe_pmu kernel module is loaded:
-
Compile and Load Custom Kernel Module:
- For JetPack with kernel 5.15.136, compile the arm_spe_pmu module separately:
git clone https://github.com/torvalds/linux.git cd linux git checkout v5.15.136 make M=arch/arm64/kernel/perf_event_arm_spe.o sudo insmod arch/arm64/kernel/perf_event_arm_spe.ko
- For JetPack with kernel 5.15.136, compile the arm_spe_pmu module separately:
-
Update JetPack and Firmware:
- Ensure you are using the latest version of JetPack available for the Jetson Orin Nano Developer Kit.
- Check for any available firmware updates that might address SPE support.
-
Consult NVIDIA Developer Resources:
- Visit the NVIDIA Developer forums and search for similar issues or post a detailed description of your problem.
- Check the Jetson Download Center for any relevant documentation or updates.
-
Explore Alternative Profiling Methods:
- While working on resolving the SPE issue, consider using other profiling tools available for the Jetson platform, such as NVIDIA Nsight Systems or perf.
-
Report the Issue:
- If the problem persists after trying the above steps, report the issue to NVIDIA support or the Jetson community forums with detailed information about your setup and the steps you’ve taken.
-
Monitor for Updates:
- Keep an eye on future JetPack and kernel releases that might include improvements or fixes for SPE support on the Jetson Orin Nano Developer Kit.
It is worth pointing out that as of the latest information provided, NVIDIA support has indicated limited experience with this specific functionality. The SPE support on the Jetson Orin Nano Developer Kit may still be in development or not fully supported. Continue to check official NVIDIA channels for updates on this feature’s availability and implementation.