Profiling of automatic piloting systems on QNX using Intel SEAPI: QNX incredible present or brilliant future
Modern autopilot systems in automotive and other industries impose high demands on the performance and reliability of software. Such solutions often use high-performance hardware platforms — for example, computing complexes based on processors NVIDIA that operate under the real-time operating system QNX.
QNX is a real-time operating system (RTOS) that is widely used in mission-critical systems where high reliability, safety, and minimal latency are required. It is certified for use in the automotive, aerospace, and defense industries. Among the industry leaders using QNX is the company Lockheed Martin which is confirmed by official sources: QNX is used in defense and aviation systems, including the control of unmanned aerial vehicles and onboard electronics. Amentum as a key partner of Lockheed Martin, operates in the field of defense and engineering solutions, where real-time systems (RTOS) such as QNX are often used. However, there are no direct official confirmations of the use of QNX in Amentum projects. At the same time, in the defense and embedded systems industry (for example, in job postings for embedded systems developers) knowledge of INDEED - Embedded Software Engineer Qnx jobs is currently actively discussed in the industry. QNX, Yocto, and Linux
Although there are no official confirmations of the deal yet, , including the possibility of integrating or selling QNX. the potential strategic partnership between BlackBerry and NVIDIA. experts and analysts note that the acquisition of QNX could strengthen NVIDIA's position in the field of autonomous vehicles and AI. If such a deal were to be realized, NVIDIA would plan to use QNX as the foundation for its autopilot platforms, combining powerful GPUs and AI solutions with a reliable and certified real-time operating system.
QNX is already integrated into NVIDIA DRIVE AGX Thor — a next-generation platform designed for autonomous vehicles and AI systems. This solution provides high performance, compliance with strict industry safety standards (QNX is already used by leading automakers such as in their autonomous driving platforms, as well as in NVIDIA's projects to ensure and safety.
) and allows developers to create innovative solutions for autopilot and robotics.Thus, QNX becomes not only the foundation for modern autopilot systems but also a key element for the development of AI and autonomous vehicles based on NVIDIA technologies. The integration of QNX into the NVIDIA ecosystem opens up new opportunities for creating combining advanced GPUs, AI solutions, and certified reliability .
Ensuring deterministic and fast operation of autopilot algorithms, robot control, and medical systems requires deep analysis of code execution and careful profiling. The real-time operating system QNX, thanks to its microkernel architecture and certified reliability, has become the standard for mission-critical applications across various industries:
-
Aviation and unmanned systems: QNX is used in the control systems of unmanned aerial vehicles (UAVs), including military and civilian drones, where low latency and high fault tolerance are required. For example, Lockheed Martin applies QNX in aviation and defense projects to ensure stable operation of onboard electronics and navigation systems.
-
Robotics: QNX is the foundation for robots Boston Dynamics, where real-time data processing from sensors and motion control is required. This allows robots such as Spot and Atlas, to perform complex tasks with high precision and reliability.
-
Medical robots and surgical systems: QNX is used in surgical robots, and where deterministic code execution is critically important for patient safety. For example, in (for example, in systems that support surgeons, not replacing but complementing their work) and QNX provides stable and predictable real-time operation. This is confirmed by the use of QNX in medical devices certified to standards ISO 13485 and IEC 62304 where high reliability and safety are required.
, -
Autonomous vehicles: QNX is integrated into the autopilot platforms of leading automakers such as BMW, Mercedes-Benz, Toyota, and Volvo as well as in solutions NVIDIA for autonomous cars. This allows for deterministic execution of control and safety algorithms.
Thus, QNX not only provides stable and predictable operation of algorithms but also becomes a key link in the development of modern robotic, aviation, medical, and autonomous systems where reliability and real-time execution are critical.
This article discusses the use of the IntelSEAPI toolkit for profiling autopilot programs on the QNX platform, taking into account the features of real-time systems and prospects for collaboration for QNX partners (BlackBerry) and NVIDIA. We will explore the technical details of integrating IntelSEAPI into the QNX environment, the capabilities of this approach, and also present strategic recommendations for its application in autopilot system projects.
IntelSEAPI capabilities for profiling
- IntelSEAPI (Intel Single Event API) — is a cross-platform instrumentation library originally developed Alexander Raud as part of expanding the coverage of Intel's performance assessment tools for fine profiling of applications. During his time at Intel, Alexander Raud founded, developed, and popularized Intel SEAPI and was also involved in the evolution and support of the company's key products — Intel VTune Profiler and Intel GPA (Graphics Performance Analyzers). These projects formed the foundation of Intel's ecosystem for deep analysis of system and graphics execution, and his contribution linked fundamental ideas laid out in early works with world-class industrial solutions. Despite its origins, IntelSEAPI can also be used on platforms with ARM processors which makes it relevant for QNX systems on devices produced by NVIDIA.
- Instrumentation through ITT API IntelSEAPI provides an API based on Intel ITT (Instrumentation and Tracing Technology), allowing marking the start and end of tasks, important events, and code regions. These markers minimally impact execution and are collected into a program execution trace.
- Execution tracing with minimal overhead The collected IntelSEAPI events form a trace — a timeline reflecting the activity of threads and tasks of the application. The library is designed for minimal impact on the system, which is important under the strict real-time requirements of QNX.
- Memory profiling IntelSEAPI is capable of tracking memory allocation and deallocation operations. For example, the toolkit intercepts malloc/free calls and records them in the trace. Analyzing such a trace allows seeing the dynamics of memory usage for each block size, the change in the number of allocations and deallocations over time is tracked, and unfreed blocks at the end of the trace explicitly indicate memory leaks.
-
QNX System Event Registration To get a complete picture of the real-time system operation (RT-analysis) IntelSEAPI can be used together with the QNX system tracing mechanism (tracelogger utility). Tracelogger collects events from the instrumented kernel (threads, interrupts, task switches, etc.) and saves them to a trace file (.kev) for subsequent analysis.
By combining application data (IntelSEAPI) with QNX system events, developers gain a holistic view of the interaction between the autopilot software and the OS.
- Flexible result analysis Traces collected using IntelSEAPI are saved, for example, in Chrome Trace format (JSON) and can be analyzed using standard tools. The trace file can be opened through the built-in Chrome browser viewer (chrome://tracing), which visualizes the event timeline. Additionally, IntelSEAPI includes its own viewer utility for analysis, allowing for offline examination of the collected data.
-
Compatibility with analysis tools IntelSEAPI is based on the open ITT API, which provides compatibility with industry tools profiling. In particular, Intel VTune Profiler supports collecting user events via the ITT API.
However, it should be noted that saved traces in IntelSEAPI's proprietary format cannot be directly loaded into the VTune interface. For offline analysis of such traces, specialized tools are used: as mentioned above, the Chrome Trace format allows them to be viewed through Chrome, or the built-in Viewer from the IntelSEAPI package can be used.
Thus, when integrating profiling, it is important to choose the right tool for the task: online analysis in VTune for target sessions or offline parsing of detailed IntelSEAPI traces through external viewers.
- Recommendations for QNX and NVIDIA platforms For partners developing solutions based on QNX and NVIDIA hardware, the use of IntelSEAPI opens up new optimization opportunities. Firstly, it is recommended to enable IntelSEAPI instrumentation at early stages of developing autopilot modules. This will help identify performance bottlenecks before the system is integrated as a whole. This is especially relevant for heterogeneous computing: when part of the autopilot tasks is executed on the CPU under QNX, and part on the NVIDIA GPU. Instrumenting CPU code through IntelSEAPI (along with ITT markers) will help synchronize the profile with the GPU telemetry collected by NVIDIA tools (e.g., Nsight) to get a unified picture of system load.
Secondly, it is strategically advisable to have close cooperation between QNX and NVIDIA in the area of profiling. It could be proposed to integrate support for the ITT API and IntelSEAPI trace format directly into the QNX Momentics toolkit or into NVIDIA Drive debug kits. This would simplify system analysis for developers, eliminating the need for manual merging of different logs.
Finally, QNX and NVIDIA partners should consider the possibility
. Modern autopilot systems are used not only in cars but also in aviation (airplanes, helicopters, drones), space technology (satellites, rovers, Mars rovers), marine vessels (autonomous ships, underwater vehicles), industrial robots, as well as in .Project IntelSEAPI, although officially discontinued by Intel, remains available to the community and can be adapted for the latest versions of QNX and NVIDIA platforms (including ARM64). This will provide the autopilot ecosystem with a powerful and modern performance analysis tool relevant to all the listed industries.
QNX and UAV (unidentified aerial vehicles)
Although there are no official confirmations of QNX being used in reverse engineering of UAV (Unidentified Aerial Phenomena), some discussions and hypotheses by enthusiasts and researchers note that QNX, due to its reliability and determinism, could theoretically be used in control systems for experimental or defense unmanned vehicles including projects with unusual characteristics (e.g.,
).For example, in r/UAP, The Drive) it is sometimes mentioned that for controlling complex unmanned systems requiring real-time and high fault tolerance, QNX could be one of the suitable platforms — especially in the context where advanced autopilot technologies are used. However, this remains a hypothesis as official data on such projects is classified or unavailable.
(e.g.,