# qairt.api.configs

## qairt.api.configs.common

- *class* qairt.api.configs.common.BackendType(*value*)

    - Bases: `str`, `Enum`

Enum representing backend types that are supported by a module.

- AIC *= 'AIC'*

    - 

- CPU *= 'CPU'*

    - 

- GPU *= 'GPU'*

    - 

- HTP *= 'HTP'*

    - 

- HTP\_MCP *= 'HTP\_MCP'*

    - 

- LPAI *= 'LPAI'*

    - 

- *static* backend\_to\_id(*backend\_str: str*)

    - 

- *classmethod* from\_id(*backend\_id: int*) → [BackendType](https://docs.qualcomm.com/doc/80-87189-2/topic/qairt-api-configs.html#qairt.api.configs.common.BackendType)

    - 

- *property* id

    - 

- *static* is\_valid\_backend(*backend\_str: str*)

    - 

- *classmethod* offline\_preparable\_backends()

    - 

- *classmethod* quantizable\_backends()

    -

- *class* qairt.api.configs.common.ContextExecuteConfig(*\*args: Any*, *\*\*kwargs: Any*)

    - Bases: `AISWBaseModel`

Context priority Configuration for HTP Backend

- async\_execute\_queue\_depth*: int*  *= 0*

    - Specifies the number of executions that can be in the queue at a given time.

- cache\_compatibility\_mode*: Literal['permissive', 'strict']*  *= 'permissive'*

    - Specifies the mode used to check whether cache record is optimal for the device.
The available modes indicate binary cache compatibility:

- permissive: Binary cache is compatible, if it could run on the device
- - strict: Binary cache is compatible if it could run on the device and fully utilize
    - hardware capability. If it cannot fully utilize hardware, selecting this
option results in a recommendation to prepare the cache again.

- context\_priority*: Literal['low', 'normal', 'normal\_high', 'high']*  *= 'normal'*

    - Specifies priority of the context as a context config.

- enable\_graphs*: list[str]*  *= FieldInfo(annotation=NoneType, required=False, default\_factory=list)*

    - Indicates to the backend, during offline prepare, to not load specified graphs into memory.

- is\_persistent\_binary*: bool*  *= False*

    - Indicates that the context binary pointer is available during QnnContext\_createFromBinary
and until QnnContext\_free is called.

- memory\_limit\_hint*: int*  *= 0*

    - Sets the peak memory limit hint of a deserialized context in MBs.

- *class* qairt.api.configs.common.DspArchitecture(*value*)

    - Bases: `str`, `Enum`

An enumeration.

- *classmethod* list\_options()

    - Returns a list of all DSP architecture options

- v66 *= 'v66'*

    - 

- v68 *= 'v68'*

    - 

- v69 *= 'v69'*

    - 

- v73 *= 'v73'*

    - 

- v75 *= 'v75'*

    - 

- v79 *= 'v79'*

    - 

- v81 *= 'v81'*

    - 

- v85 *= 'v85'*

    -

- *class* qairt.api.configs.common.ExecutionResult(*data: Optional[Union[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]], Sequence[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]], Dict[str, Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]], Dict[str, Sequence[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]]]]] = None*, *profiling\_data: Optional[qti.aisw.tools.core.modules.api.definitions.common.ProfilingData] = None*)

    - Bases: `object`

The result of executing a Model or CompiledModel object including any generated profiling data.
This class is iterable and indexable by output name.

- data*: Optional[Union[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]], Sequence[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]], Dict[str, Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]], Dict[str, Sequence[Dict[str, ndarray[Any, dtype[\_ScalarType\_co]]]]]]]*  *= None*

    - The output data from the execution. It contains a data field which is a dictionary of output names to
numpy arrays or a sequence of dictionaries of output names to numpy arrays or a dictionary of
graph names to dictionary of output names to numpy arrays.

- profiling\_data*: Optional[qti.aisw.tools.core.modules.api.definitions.common.ProfilingData]*  *= None*

    - The profiling data generated during execution.

- *class* qairt.api.configs.common.PerfProfile(*value*)

    - Bases: `str`, `Enum`

An enumeration.

- BALANCED *= 'balanced'*

    - 

- BURST *= 'burst'*

    - 

- CUSTOM *= 'custom'*

    - 

- DEFAULT *= 'default'*

    - 

- EXTREME\_POWER\_SAVER *= 'extreme\_power\_saver'*

    - 

- HIGH\_PERFORMANCE *= 'high\_performance'*

    - 

- HIGH\_POWER\_SAVER *= 'high\_power\_saver'*

    - 

- INVALID *= 'invalid'*

    - 

- LOW\_BALANCED *= 'low\_balanced'*

    - 

- LOW\_POWER\_SAVER *= 'low\_power\_saver'*

    - 

- NO\_USER\_INPUT *= 'no\_user\_input'*

    - 

- POWER\_SAVER *= 'power\_saver'*

    - 

- SUSTAINED\_HIGH\_PERFORMANCE *= 'sustained\_high\_performance'*

    - 

- SYSTEM\_SETTINGS *= 'system\_settings'*

    - 

- *classmethod* list\_options()

    - Returns a list of all performance profile options

- qairt.api.configs.common.ExecutionInputData

    - Specifies input data to be passed to [`qairt.api.model.Model`](https://docs.qualcomm.com/doc/80-87189-2/topic/qairt-core-api.html#qairt.Model) or [`qairt.api.compiled_model.CompiledModel`](https://docs.qualcomm.com/doc/80-87189-2/topic/qairt-core-api.html#qairt.CompiledModel) instances

## qairt.api.configs.device

- *class* qairt.api.configs.device.Device(*\*args: Any*, *\*\*kwargs: Any*)

    - Bases: `AISWBaseModel`

An object that captures information about the intended device.

- Supported Platform types are:
    - - DevicePlatformType.ANDROID
- DevicePlatformType.LINUX\_EMBEDDED
- DevicePlatformType.QNX
- DevicePlatformType.WOS
- DevicePlatformType.X86\_64\_LINUX
- DevicePlatformType.X86\_64\_WINDOWS\_MSVC

For remote connections, additional information such as hostname or ip, and credentials
may be required.

This could be passed through the identifier using a pattern.

For Android and linux embedded devices, the identifier pattern is adb\_serial\_id[@&lt;host&gt;][:&lt;port&gt;]
where host and port are optional.

For QNX, WoS and X86\_64 Windows devices, the identifier pattern is &lt;username&gt;[:password]@hostname[:port]
where password and port are optional.

Examples:

# For android or linux embedded devices, port is optional
    android_device = Device(type=DevicePlatformType.ANDROID, identifier="a1234bc")
    android_device_remote = Device(type=DevicePlatformType.ANDROID, identifier="a1234bc@hostname:5555")
    
    # For QNX devices, port is optional
    qnx_device =  Devices(type=DevicePlatformType.QNX, identifier=username@hostname:port)
    Copy to clipboard

- credentials*: Optional[qti.aisw.tools.core.utilities.devices.api.device\_definitions.DeviceCredentials]*  *= None*

    - The credentials for the device. Defaults to None.

- get\_chipset() → str

    - Returns the chipset associated with this device. Note that only
Android and OE-Linux devices are supported.

- get\_log(*\*\*kwargs*) → bytes | str | None

    - Get the entire device log, filter by date range, and/or filter by a string expression.

- Parameters

    - **\*\*kwargs** –

Keyword arguments.

- date\_range (Optional[Dict[str, datetime|str]): The date range of the device log.
A date range is defined by a start and end datetime
in the format {“start”: datetime, “end”: datetime}
where datetime is a datetime object or str.
- log\_filter (Optional[str]): A string expression to filter logs (passed to re.compile).
Defaults to a case-insensitive match of the words: qnn or genie.
- max\_lines (Optional[int]):  (Android Only) Truncate formatted output to last N lines
(after filtering).
- use\_device\_time\_hint (Optional[bool]): (Android only) If True, attempt to use ‘-t’ date\_range.start
as an argument to ‘adb logcat’ to obtain logs since a given
timestamp.

- Returns

    - The device log content

- Return type

    - bytes

- identifier*: Optional[Union[str, qti.aisw.tools.core.utilities.devices.api.device\_definitions.RemoteDeviceIdentifier]]*  *= None*

    - The identifier of the device.Defaults to None.

- *property* info*: qti.aisw.tools.core.utilities.devices.api.device\_definitions.DeviceInfo*

    - 

- model\_post\_init(*\_Device\_\_context: Any*) → None

    - 

- type*: qti.aisw.tools.core.utilities.devices.api.device\_definitions.DevicePlatformType*

    - The type of device platform to be used

- qairt.api.configs.device.get\_soc\_details(*specs\_str: str*) → List[qti.aisw.tools.core.utilities.devices.api.device\_definitions.SocDetails]

    - Transforms a spec str into a device spec object

- Matches one or more instances of either:
    - 1. chipset:abc-123 e.x chipset:SM8550
2. dsp\_arch:v123;soc\_model:123|456 e.x dsp\_arch:v73;soc\_model:43|50
3. chipset:abc-123;dsp\_arch:v123;soc\_model:123|456 e.x chipset:SM8550;dsp\_arch:v73;soc\_model:43|50
4. Any of the above with an optional ;cores:N suffix e.x chipset:SM8550;cores:4

- Returns

    - A list of soc detail objects

- Raises

    - **ValueError** – If the specs string is not valid or no matches were found

- qairt.api.configs.device.log\_device\_output(*device: Optional[Union[[Device](https://docs.qualcomm.com/doc/80-87189-2/topic/qairt-api-configs.html#qairt.api.configs.device.Device), qti.aisw.tools.core.utilities.devices.api.device\_interface.DeviceInterface]]*, *logger: Logger*, *\*\*device\_log\_kwargs*) → None

    - Log device output for debugging purposes.

- qairt.api.configs.device.populate\_soc\_details\_from\_factory(*soc\_detail: qti.aisw.tools.core.utilities.devices.api.device\_definitions.SocDetails*, *backend: str = 'HTP'*)

    - Populates soc detail with additional information given a backend. This function
will override any preset values.

- qairt.api.configs.device.soc\_details\_from\_str(*specs\_str*)

    - 

- qairt.api.configs.device.split\_adb\_target(*adb\_identifier: str*) → tuple[str, Optional[str], Optional[int]]

    - Split an ADB identifier into its components.

- Parameters

    - **adb\_identifier** (*str*) – The ADB identifier to split.

- Returns

    - A tuple containing the serial ID, hostname, and port.

- Return type

    - tuple

- Raises

    - **ValueError** – If the ADB identifier is invalid.

- qairt.api.configs.device.split\_login\_identifier(*login\_identifier: str*) → tuple[Union[str, Any], Union[str, Any], Optional[str], Optional[int]]

    - Split a login identifier into its components.

- Parameters

    - **login\_identifier** (*str*) – The login identifier to split.

- Returns

    - A tuple containing the username, password, hostname, and port.

- Return type

    - tuple

- Raises

    - **ValueError** – If the login identifier is invalid.

Last Published: May 26, 2026

[Previous Topic
qairt.api.compiler](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/qairt-api-compiler.md) [Next Topic
qairt.api.converter](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/qairt-api-converter.md)