The post has been translated automatically. Original language: Russian
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 (ISO 26262 ASIL-D, ISO 21434) and allows developers to create innovative solutions for autopilot and robotics.
QNX is already used by leading automakers such as Toyota, BMW, Mercedes-Benz, and Volvo in their autonomous driving platforms, as well as in NVIDIA's projects to ensure deterministic execution of algorithms and safety.
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 fully integrated platforms combining advanced GPUs, AI solutions, and certified reliability of the real-time operating system.
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 diagnostic robots, surgical robots, radiation therapy systems and automated laboratory complexes where deterministic code execution is critically important for patient safety. For example, in robots for automated surgery (for example, in systems that support surgeons, not replacing but complementing their work) and robots for precise diagnostics 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 (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 joint support and development of open profiling tools. 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 experimental and defense projects, including unmanned aerial vehicles (UAV).
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.
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., high maneuverability or non-standard shapes).
For example, in discussions on forums and in technical blogs (e.g., 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 military or intelligence projects where advanced autopilot technologies are used. However, this remains a hypothesis as official data on such projects is classified or unavailable.
Authors: Valeria Ovseannicova, Mykhailo Kapustin, Denis Banchenko, Alexander Raud
Link to the original publication: https://arcanum12th.education/en/documents/30edb554-56be-4994-8184-8a400aa4bba1
Современные системы автопилотирования в автомобильной и не только отраслях предъявляют высокие требования к производительности и надёжности программного обеспечения. В таких решениях часто используются высокопроизводительные аппаратные платформы — например, вычислительные комплексы на базе процессоров NVIDIA, работающие под управлением операционной системы реального времени QNX.
QNX — это операционная система реального времени (RTOS), которая широко применяется в критически важных системах, где требуется высокая надёжность, безопасность и минимальная задержка. Она сертифицирована для использования в автомобильной, авиационной и оборонной промышленности.
Среди лидеров отрасли, использующих QNX, — компания Lockheed Martin, что подтверждается официальными источниками: QNX применяется в оборонных и авиационных системах, включая управление беспилотными летательными аппаратами и бортовой электроникой.
Amentum, как ключевой партнёр Lockheed Martin, работает в сфере оборонных и инженерных решений, где часто используются системы реального времени (RTOS), такие как QNX. Однако прямых официальных подтверждений использования QNX в проектах Amentum нет. В то же время, в отрасли оборонных и встраиваемых систем (например, в вакансиях для разработчиков встраиваемых систем) часто требуется знание QNX, Yocto и Linux, что косвенно указывает на его применение в подобных проектах.
Сейчас в отрасли активно обсуждается потенциальное стратегическое партнёрство между BlackBerry и NVIDIA, включая возможность интеграции или продажи QNX. Хотя официальных подтверждений сделки пока нет, эксперты и аналитики отмечают, что приобретение QNX могло бы усилить позиции NVIDIA в сфере автономных транспортных средств и ИИ. В случае реализации такой сделки NVIDIA планировала бы использовать QNX как фундамент для своих платформ автопилотирования, объединив мощные GPU и AI-решения с надёжной и сертифицированной операционной системой реального времени.
Уже сегодня QNX интегрирована в NVIDIA DRIVE AGX Thor — платформу нового поколения, предназначенную для автономных транспортных средств и систем ИИ. Это решение обеспечивает высокую производительность, соответствие строгим отраслевым стандартам безопасности (ISO 26262 ASIL-D, ISO 21434) и позволяет разработчикам создавать инновационные решения для автопилотирования и робототехники.
QNX уже используется ведущими автопроизводителями, такими как Toyota, BMW, Mercedes-Benz и Volvo, в их платформах автономного вождения, а также в проектах NVIDIA для обеспечения детерминированного исполнения алгоритмов и безопасности.
Таким образом, QNX становится не только основой для современных систем автопилотирования, но и ключевым элементом для развития ИИ и автономных транспортных средств на базе технологий NVIDIA.
Интеграция QNX в экосистему NVIDIA открывает новые возможности для создания полностью интегрированных платформ, сочетающих передовые GPU, AI-решения и сертифицированную надёжность операционной системы реального времени.
Обеспечение детерминированной и быстрой работы алгоритмов автоматического пилотирования, управления роботами и медицинскими системами требует глубокого анализа исполнения кода и тщательного профилирования. Операционная система реального времени QNX, благодаря своей микроядерной архитектуре и сертифицированной надёжности, стала стандартом для критически важных приложений в самых разных отраслях:
- Авиация и беспилотные системы: QNX используется в системах управления беспилотными летательными аппаратами (БПЛА), включая военные и гражданские дроны, где требуется низкая задержка и высокая отказоустойчивость. Например, Lockheed Martin применяет QNX в авиационных и оборонных проектах для обеспечения стабильной работы бортовой электроники и систем навигации.
- Робототехника: QNX является основой для роботов Boston Dynamics, где требуется реальное время для обработки данных с датчиков и управления движением. Это позволяет роботам, таким как Spot и Atlas, выполнять сложные задачи с высокой точностью и надёжностью.
- Медицинские роботы и хирургические системы: QNX применяется в диагностических роботах, роботах хирургах, системах лучевой терапии и автоматизированных лабораторных комплексах, где детерминированное исполнение кода критически важно для безопасности пациентов. Например, в роботах для автоматизированной хирургии (например, в системах поддержки хирургов, не заменяющих, а дополняющих их работу) и роботах для точной диагностики QNX обеспечивает стабильную и предсказуемую работу в реальном времени. Это подтверждается использованием QNX в медицинских устройствах, сертифицированных по стандартам ISO 13485 и IEC 62304, где требуется высокая надёжность и безопасностью.
- Автономные транспортные средства: QNX интегрирована в платформы автопилотирования ведущих автопроизводителей, таких как BMW, Mercedes-Benz, Toyota и Volvo, а также в решения NVIDIA для автономных автомобилей. Это позволяет обеспечить детерминированное исполнение алгоритмов управления и безопасности.
Таким образом, QNX обеспечивает не только стабильную и предсказуемую работу алгоритмов, но и становится ключевым звеном в развитии современных робототехнических, авиационных, медицинских и автономных систем, где надёжность и реальное время исполнения имеют критическое значение.
В данной статье рассматривается использование инструментария IntelSEAPI для профилирования программ автопилота на платформе QNX, с учётом особенностей систем реального времени и перспектив сотрудничества для партнёров QNX (BlackBarry) и NVIDIA. Мы изучим технические детали интеграции IntelSEAPI в среду QNX, возможности этого подхода, а также представим стратегические рекомендации по его применению в проектах автопилотных систем.
- IntelSEAPI (Intel Single Event API) — это кроссплатформенная библиотека инструментирования, изначально разработанная Алесандр Рауд в рамках расширения охвата performance assessment тулзов Intel по оценке производительности для тонкого профилирования приложений. Во время работы в Intel Александр Рауд основал разработал и популяризировал Intel SEAPI, а также был вовлечён в эволюцию и поддержку ключевых продуктов компании — Intel VTune Profiler и Intel GPA (Graphics Performance Analyzers). Эти проекты формировали основу экосистемы Intel для глубокого анализа системного и графического исполнения, и его вклад связывал фундаментальные идеи, заложенные ещё в ранних работах, с промышленными решениями мирового уровня. Несмотря на происхождение, IntelSEAPI может применяться и на платформах с ARM-процессорами, что делает его актуальным для QNX-систем на устройствах, производимых NVIDIA.
- Инструментирование через ITT API IntelSEAPI предоставляет API на базе Intel ITT (Instrumentation and Tracing Technology), позволяющий помечать начало и конец задач, важные события и области кода. Эти метки минимально влияют на исполнение и собираются воедино в трассу выполнения программы.
- Трассировка исполнения с минимальным оверхедом Собранные IntelSEAPI события формируют trace (трассу) — временную шкалу, отражающую активность потоков и задач приложения. Библиотека спроектирована для минимального влияния на систему, что важно в условиях жёстких требований реального времени QNX.
- Профилировка памяти IntelSEAPI способен отслеживать операции выделения и освобождения памяти. Например, инструментарий перехватывает вызовы malloc/free и фиксирует их в трассе. Анализ такой трассы позволяет увидеть динамику использования памяти: для каждого размера блока отслеживается изменение количества аллокаций и освобождений во времени, а неосвобождённые к концу трассы блоки явно указывают на утечки памяти.
- Регистрация системных событий QNX Для получения полной картины работы системы реального времени (RT-анализ) IntelSEAPI можно использовать совместно с механизмом системной трассировки QNX (утилита tracelogger). Tracelogger собирает события от инструментированного ядра (потоки, прерывания, переключения задач и пр.) и сохраняет их в файл трассировки (.kev) для последующего анализа.Совмещая данные приложений (IntelSEAPI) с системными событиями QNX, разработчики получают целостное представление о взаимодействии ПО автопилота с ОС.
- Гибкий анализ результатов Трассы, собранные с помощью IntelSEAPI, сохраняются, например, в формате Chrome Trace (JSON) и могут быть проанализированы при помощи штатных средств. Файл трассы можно открыть через встроенный в браузер Chrome просмотрщик (chrome://tracing), который визуализирует временную шкалу событий. Кроме того, в состав IntelSEAPI входит собственный утилита-вьюер для анализа, позволяющая рассматривать собранные данные автономно.
- Совместимость с инструментами анализа IntelSEAPI базируется на открытом API ITT, благодаря чему существует совместимость с промышленными инструментами профилирования. В частности, Intel VTune Profiler поддерживает сбор пользовательских событий через ITT API.Однако следует отметить, что сохранённые трассы в собственном формате IntelSEAPI не могут быть напрямую загружены в интерфейс VTune. Для офлайн-анализа таких трасс используются специализированные средства: как упомянуто выше, формат Chrome Trace позволяет просматривать их через Chrome, или же можно воспользоваться встроенным Viewer из комплекта IntelSEAPI.Таким образом, при интеграции профилирования важно выбирать инструмент под задачу: онлайн-анализ в VTune для целевых сессий или автономный разбор детальных трасс IntelSEAPI через внешние вьюеры.
- Рекомендации для платформ QNX и NVIDIA Для партнеров, разрабатывающих решения на базе QNX и аппаратуры NVIDIA, использование IntelSEAPI открывает новые возможности оптимизации. Во-первых, рекомендуется включать инструментирование IntelSEAPI на ранних этапах разработки автопилотных модулей. Это позволит выявлять проблемные места производительности до интеграции системы в целом. Особенно актуально это для гетерогенных вычислений: когда часть задач автопилота выполняется на CPU под QNX, а часть на GPU NVIDIA. Инструментирование CPU-кода через IntelSEAPI (вместе с ITT-метками) поможет синхронизировать профиль с телеметрией GPU, собираемой средствами NVIDIA (например, Nsight), чтобы получить единую картину загрузки системы.
Во-вторых, стратегически целесообразно тесное сотрудничество между QNX и NVIDIA в области профилирования. Можно предложить интеграцию поддержки ITT API и формата трасс IntelSEAPI непосредственно в инструментарий QNX Momentics или в отладочные комплекты NVIDIA Drive. Это упростило бы разработчикам анализ системы, исключив необходимость ручного совмещения разных логов.
Наконец, партнёрам QNX и NVIDIA стоит рассмотреть возможность совместной поддержки и развития открытых инструментов профилирования. Современные системы автопилотирования применяются не только в автомобилях, но и в авиации (самолёты, вертолёты, дроны), космической технике (спутники, луноходы, марсоходы), морских судах (автономные корабли, подводные аппараты), промышленных роботах, а также в экспериментальных и оборонных проектах, включая беспилотные летательные аппараты (UAP).
Проект IntelSEAPI, хотя и официально прекращён Intel, остаётся доступным для сообщества и может быть адаптирован под новейшие версии QNX и платформы NVIDIA (включая ARM64). Это позволит экосистеме автопилотов получить мощный и современный инструмент анализа производительности, актуальный для всех перечисленных отраслей.
Хотя официальных подтверждений использования QNX в реверс-инжиниринге UAP (Unidentified Aerial Phenomena) нет, в некоторых обсуждениях и гипотезах энтузиастов и исследователей отмечается, что QNX, благодаря своей надёжности и детерминированности, могла бы теоретически использоваться в системах управления экспериментальными или оборонными беспилотниками, включая проекты с необычными характеристиками (например, высокой манёвренностью или нестандартными формами).
Например, в дискуссиях на форумах и в технических блогах (например, r/UAP, The Drive) иногда упоминается, что для управления сложными беспилотными системами, требующими реального времени и высокой отказоустойчивости, QNX могла бы быть одной из подходящих платформ — особенно в контексте военных или разведывательных проектов, где используются передовые технологии автопилотирования. Однако это остаётся гипотезой, так как официальные данные о таких проектах засекречены или отсутствуют.
Авторы: Валерия Овсяанникова, Александр Рауд, Михаил Капустин, Денис Банченко
Ссылка на оригинальную версию: https://arcanum12th.education/ru/documents/30edb554-56be-4994-8184-8a400aa4bba1