File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed
backends/apple/coreml/runtime/delegate Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ #pragma once
2+
3+ namespace executorch ::core_ml_backend_delegate {
4+ void register_backend_coreml ();
5+ } // namespace executorch::core_ml_backend_delegate
Original file line number Diff line number Diff line change 1+ #pragma once
2+
3+ #include " executorch_operations.h"
4+ #import < coreml_backend/delegate.h>
5+ #import " ETCoreMLStrings.h"
6+ #import " backend_delegate.h"
7+
8+ #import < executorch/runtime/core/evalue.h>
9+ #import < executorch/runtime/platform/log.h>
10+ #import < executorch/runtime/backend/interface.h>
11+
12+ #include < array>
13+ #import < memory>
14+
15+ namespace executorch ::core_ml_backend_delegate {
16+ using executorch::runtime::get_backend_class;
17+
18+ static std::unique_ptr<executorch::backends::coreml::CoreMLBackendDelegate> backendInterfaceLazy_;
19+
20+ void register_backend_coreml () {
21+ auto backendInterface = executorch::runtime::get_backend_class (ETCoreMLStrings.delegateIdentifier .UTF8String );
22+ if (backendInterface == nullptr ) {
23+ backendInterfaceLazy_ = std::make_unique<executorch::backends::coreml::CoreMLBackendDelegate>();
24+ executorch::runtime::Backend backend{ETCoreMLStrings.delegateIdentifier .UTF8String , backendInterfaceLazy_.get ()};
25+ std::ignore = register_backend (backend);
26+ }
27+ }
28+
29+ } // namespace executorch::core_ml_backend_delegate
You can’t perform that action at this time.
0 commit comments