> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# QIR software architecture

The QIR SDK builds on top of the Qualcomm Linux distributions and various function SDKs. The following figure shows the overall software architecture.

<img src="https://mintcdn.com/qualcomm-prod/IP0o0G5fE3MFmCJ8/SDKs/QIR-SDK-2.0/media/80-65220-2-qirp-sdk-qsg/qirsdk-arch-1.svg?fit=max&auto=format&n=IP0o0G5fE3MFmCJ8&q=85&s=a275345780e86070f294e6c71df4c6d8" alt="qirp-arch-1" style={{ display: 'block', margin: '0 auto' }} width="954" height="706" data-path="SDKs/QIR-SDK-2.0/media/80-65220-2-qirp-sdk-qsg/qirsdk-arch-1.svg" />

<p style={{ textAlign: 'center', fontWeight: 'bold'}}>
  Figure: Overall software architecture of QIR SDK
</p>

## Layers

The QIR SDK builds on top of the open-source Yocto Project and integrates multiple foundational software layers, making it easier to use, customize, and extend. These layers include:

<p style={{ textAlign: 'center', fontWeight: 'bold' }}>
  Table: Layers of the QIR SDK
</p>

| **Layer**                   | **Description**                                                                                                                                                                                                         |
| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Qualcomm Linux Distribution | This is a collection of layers from Qualcomm. It provides the foundational Linux environment and multimedia support.                                                                                                    |
| Robotics SDK layers         | This is a collection of layers from Qualcomm. It provides the robot-related support.                                                                                                                                    |
| meta-ros layer              | This is a series of OpenEmbedded layers that adds Robot Operating System (ROS) support to embedded Linux distributions built with the Yocto Project. For more details, see [meta-ros](https://github.com/ros/meta-ros). |

## Component function SDKs

The QIR SDK integrates specialized components called function SDKs. The following table lists the details:

<p style={{ textAlign: 'center', fontWeight: 'bold' }}>
  Table: Function SDKs used by QIR SDK
</p>

| Function SDK                         | Description                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Qualcomm® Intelligent Multimedia SDK | The Qualcomm Intelligent Multimedia SDK (IM SDK) provides a unified environment for developing AI and multimedia use cases at the Edge on the Qualcomm® Linux platforms. For more details, see the [Qualcomm Intelligent Multimedia SDK (IM SDK) quickstart](../../SDKs/IMSDK/index).                                                                               |
| Qualcomm® Neural Processing SDK      | The Qualcomm Neural Processing SDK enables execution, optimization, and deployment of deep neural networks across Snapdragon CPUs, GPUs, and DSPs, supporting model conversion, quantization, debugging, and application integration through C++/Java. For more details, see the [Qualcomm AI Runtime (QAIRT) Overview](https://docs.qualcomm.com/doc/80-63442-10). |
| Qualcomm® AI Engine Direct SDK       | The Qualcomm AI Engine Direct SDK helps build model files (for example, from PyTorch) to run on various device processors (CPU, GPU, DSP, HTP, or LPAI) across multiple operating systems. For more details, see the [Qualcomm AI Runtime (QAIRT) Overview](https://docs.qualcomm.com/doc/80-63442-10).                                                             |

The following figure shows a more detailed tech stack. The QIR SDK implements its core functionality modules, based on which it builds the sample applications. Besides, the QIR SDK provides tools to make the development process smooth and faster.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/SDKs/QIR-SDK-2.0/media/80-65220-2-qirp-sdk-qsg/qirsdk-arch-2.svg" alt="<QIR SDK tech stack diagram>" style={{ display: 'block', margin: '0 auto' }} />

<p style={{ textAlign: 'center', fontWeight: 'bold' }}>
  Figure: QIR SDK tech stack
</p>

## Sample applications

To help you understand the features, the QIR SDK provides sample applications in the following categories:

| Sample application categories | Description                                                                                                                                  |
| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |
| Robotics platform samples     | Provides ROS samples for common platform types including OCR, Rplidar, Orbbec Camera, and IMU.                                               |
| Robotics samples              | Provides a robotics simulation platform where you can develop your own robotics applications, such as `simulation-sample-AMR-simple-motion`. |
| Robotics AI samples           | Provides AI-related sample applications, such as hand detection and image classification (`resnet101 quantized`).                            |

## Tools

To speed up the deployment of your development environment, the QIR SDK integrates the following tools:

| Tool name               | Description                                                                                      |
| :---------------------- | :----------------------------------------------------------------------------------------------- |
| Cross-compile toolchain | Provides cross-compile toolchain, which can compile binaries on the host that run on the device. |
| ROS2 URDF FILE          | Provides the URDF file for the robot, which can visualize the robot in ROS2.                     |
| Easy-to-use script      | Provides the single-command script for configuring the device.                                   |
