Typedef QnnOpPackage_CreateOpImplFn_t

Typedef Documentation

typedef Qnn_ErrorHandle_t (*QnnOpPackage_CreateOpImplFn_t)(QnnOpPackage_GraphInfrastructure_t graphInfrastructure, QnnOpPackage_Node_t node, QnnOpPackage_OpImpl_t *opImpl)

Create Op implementation with executable content for a given node.

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: Op implementation is created successfully

  • 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.