ArmNN
 23.08
armnn_external_delegate.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include <armnn_delegate.hpp>
7 
8 namespace {
9 
10  TfLiteOpaqueDelegate* ArmNNDelegateCreateFunc(const void* tflite_settings)
11  {
12  auto delegate = armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateCreate(tflite_settings);
13  return delegate;
14  }
15 
16  void ArmNNDelegateDestroyFunc(TfLiteOpaqueDelegate* armnnDelegate)
17  {
20  }
21 
22  int ArmNNDelegateErrnoFunc(TfLiteOpaqueDelegate* sample_stable_delegate)
23  {
24  return 0;
25  }
26 
27  const TfLiteOpaqueDelegatePlugin armnn_delegate_plugin = {
28  ArmNNDelegateCreateFunc, ArmNNDelegateDestroyFunc,
29  ArmNNDelegateErrnoFunc};
30 
31  const TfLiteStableDelegate armnn_delegate = {
32  /*delegate_abi_version=*/ TFL_STABLE_DELEGATE_ABI_VERSION,
33  /*delegate_name=*/ "armnn_delegate",
34  /*delegate_version=*/ OPAQUE_DELEGATE_VERSION,
35  /*delegate_plugin=*/ &armnn_delegate_plugin
36  };
37 
38 } // namespace
39 
40 /**
41  * The ArmNN delegate to be loaded dynamically
42  */
43 extern "C" const TfLiteStableDelegate TFL_TheStableDelegate = armnn_delegate;
armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateDelete
void TfLiteArmnnOpaqueDelegateDelete(TfLiteOpaqueDelegate *tfLiteDelegate)
OPAQUE_DELEGATE_VERSION
#define OPAQUE_DELEGATE_VERSION
DELEGATE_VERSION: "X.Y.Z" where: X = Major version number Y = Minor version number Z = Patch version ...
Definition: Version.hpp:25
TFL_TheStableDelegate
const TfLiteStableDelegate TFL_TheStableDelegate
The ArmNN delegate to be loaded dynamically.
Definition: armnn_external_delegate.cpp:43
armnnDelegate
Definition: armnn_delegate.hpp:28
armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateCreate
TfLiteOpaqueDelegate * TfLiteArmnnOpaqueDelegateCreate(const void *settings)