Typedef QnnOpPackage_CreateOpImplHandleFn_t

Typedef Documentation

typedef Qnn_ErrorHandle_t (*QnnOpPackage_CreateOpImplHandleFn_t)(Qnn_OpPackageHandle_t opPackage, QnnOpPackage_GraphInfrastructure_t graphInfrastructure, QnnOpPackage_Node_t node, QnnOpPackage_OpImpl_t *opImpl)

Create op implementation with executable content for a given node.

Param opPackage

[in] An op package handle.

Param graphInfrastructure

[in] Infrastructure for the graph to which the node and kernels belong. This memory is guaranteed to live at least until all created kernels are freed and may be safely cached.

Param node

[in] Node object for which kernels should be created. This node may be freed before the created kernels. Neither the node nor it’s members should be cached.

Param opImpl

[out] Op implementation with executable content to compute the operation specified by node. The Op implementation contents will be freed by the backend with QnnOpPackage_FreeOpImplFn_t.

Pre

The corresponding QnnOpPackage_ValidateOpConfigFn_t should return QNN_SUCCESS for the supplied node.

Return

Error code:

  • QNN_SUCCESS: No error encountered.

  • QNN_OP_PACKAGE_ERROR_INVALID_HANDLE: opPackage is not a valid handle.

  • QNN_OP_PACKAGE_ERROR_INVALID_INFRASTRUCTURE: Failed to create op implementation due to invalid graph infrastructure content.

  • QNN_OP_PACKAGE_ERROR_INVALID_ARGUMENT: one or more invalid arguments (e.g. NULL)

  • QNN_OP_PACKAGE_ERROR_UNSUPPORTED_FEATURE: API not supported

  • QNN_OP_PACKAGE_ERROR_GENERAL: Other error occurred.