# DSP

This section provides information specific to QNN DSP backend.

## API Specializations

This section contains information related to API specialization for the DSP backend. All QNN DSP
backend specialization is available under `<QNN_SDK_ROOT>/include/QNN/DSP/` directory.

The current version of the QNN DSP backend API is:

Warning

doxygendefine: Cannot find define “QNN\_DSP\_API\_VERSION\_MAJOR” in doxygen xml output for project “QairtCApi” from directory: /local/mnt/workspace/mlg\_user\_admin/ci.docker.tmp/62\_e394c/build/x86\_64-linux-clang/FirstParty/QNN/Doc/qairt-api-docs/c-api-docs/xml

Warning

doxygendefine: Cannot find define “QNN\_DSP\_API\_VERSION\_MINOR” in doxygen xml output for project “QairtCApi” from directory: /local/mnt/workspace/mlg\_user\_admin/ci.docker.tmp/62\_e394c/build/x86\_64-linux-clang/FirstParty/QNN/Doc/qairt-api-docs/c-api-docs/xml

Warning

doxygendefine: Cannot find define “QNN\_DSP\_API\_VERSION\_PATCH” in doxygen xml output for project “QairtCApi” from directory: /local/mnt/workspace/mlg\_user\_admin/ci.docker.tmp/62\_e394c/build/x86\_64-linux-clang/FirstParty/QNN/Doc/qairt-api-docs/c-api-docs/xml

### QNN DSP Performance Infrastructure API

Clients can invoke
QnnBackend\_getPerfInfrastructure
after loading the QNN DSP library and then invoke methods that are available in
file\_include\_QNN\_DSP\_QnnDspPerfInfrastructure.h. These APIs allow a client to control
the DSP accelerator’s system settings thereby giving fine-grained control of the accelerator.
A few use-cases are:

1. Set up a voting policy by controlling the voltage corners.
2. Set up DCVS modes to achieve different performance settings as applicable to a use-case.
3. Set up the number of threads for the accelerator.

Note:

1. The DCVS participation flag will be set to FALSE if the dcvsEnableConfig
QnnDspPerfInfrastructure\_DcvsEnable\_t is not provided.
2. In a power set call, the power mode will be set to power save mode if it is not specified as
part of the configs.

## QNN DSP Backend API

file\_include\_QNN\_DSP\_QnnDspBackend.h is the backend specialization header that goes along with
file\_include\_QNN\_QnnBackend.h. This header file allows clients to configure the QnnBackend to
cater to specific use-cases using exhale\_struct\_structQnnDspBackend\_\_CustomConfig .

**QNN DSP Backend Config Options (QnnDspBackend\_CustomConfig\_t)**

| Option Name | Option Description | Default | When to use |
| --- | --- | --- | --- |
| QNN\_DSP\_BACKEND\_CONFIG\_OPTION\_ARCH | Data structure to configure a Backend to set the DSP Arch. The driver will use ops<br>that are compatible to this DSP Arch | QNN\_DSP\_BACKEND\_ARCH\_NONE | Client can provide as part of the custom config when there are multiple backends in use |
| QNN\_DSP\_BACKEND\_CONFIG\_OPTION\_USE\_SIGNED\_PROCESS\_DOMAIN | Enables signed process domain(PD). In order to use this flag, client also needs to push a signed<br>dsp image to target | False (Unsigned Process Domain) | Client use signed process domain. Check Hexagon SDK document for more detail. |

Client can set Dsp arch as shown below:
Refer QnnDspBackend\_DspArch\_t for setting Dsp Arch.

1QnnDspBackend_CustomConfig_t customConfig;
    2customConfig.option = QNN_DSP_BACKEND_CONFIG_OPTION_ARCH;
    3customConfig.arch = QNN_DSP_BACKEND_DSP_ARCH_V66;
    4
    5QnnBackend_Config_t backendConfig;
    6backendConfig.option = QNN_BACKEND_CONFIG_OPTION_CUSTOM;
    7backendConfig.customConfig = &customConfig;
    8
    9const QnnBackend_Config_t* pBackendConfig[] = {&backendConfig, NULL};
    Copy to clipboard

Client can set signed PD as shown below:

1QnnDspBackend_CustomConfig_t customConfig;
    2customConfig.option = QNN_DSP_BACKEND_CONFIG_OPTION_USE_SIGNED_PROCESS_DOMAIN;
    3customConfig.useSignedProcessDomain = true;
    4
    5QnnBackend_Config_t backendConfig;
    6backendConfig.option = QNN_BACKEND_CONFIG_OPTION_CUSTOM;
    7backendConfig.customConfig = &customConfig;
    8
    9const QnnBackend_Config_t* pBackendConfig[] = {&backendConfig, NULL};
    Copy to clipboard

Last Published: Jun 04, 2026

[Previous Topic
Backend](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/backend.md) [Next Topic
HTP](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/htp_backend.md)