2222#include " litert/core/environment.h"
2323#include " litert/runtime/accelerators/cpu_registry.h"
2424#include " litert/runtime/accelerators/gpu_registry.h"
25- #if !defined(LITERT_DISABLE_NPU)
26- #include " litert/runtime/accelerators/dispatch/dispatch_accelerator.h"
27- #endif // !defined(LITERT_DISABLE_NPU)
28-
29- extern " C" {
30-
31- // Define a function pointer for the WebNN accelerator.
32- LiteRtStatus (*LiteRtRegisterStaticLinkedAcceleratorWebNn)(
33- LiteRtEnvironmentT& environment) = nullptr;
34-
35- } // extern "C"
25+ #include " litert/runtime/accelerators/npu_registry.h"
26+ #include " litert/runtime/accelerators/webnn_registry.h"
3627
3728namespace litert {
3829namespace {
3930
4031constexpr LiteRtHwAcceleratorSet kDefaultAutoRegisterAccelerators =
41- kLiteRtHwAcceleratorCpu | kLiteRtHwAcceleratorGpu | kLiteRtHwAcceleratorNpu
42- #if defined(__EMSCRIPTEN__)
43- | kLiteRtHwAcceleratorWebNn
44- #endif // defined(__EMSCRIPTEN__)
45- ;
32+ kLiteRtHwAcceleratorCpu | kLiteRtHwAcceleratorGpu |
33+ kLiteRtHwAcceleratorNpu | litert::internal::kLiteRtHwAcceleratorWebNnAlias ;
4634
4735LiteRtHwAcceleratorSet GetAutoRegisterAccelerators (
4836 const LiteRtEnvironmentT& environment) {
@@ -66,34 +54,22 @@ Expected<void> TriggerAcceleratorAutomaticRegistration(
6654 LiteRtEnvironmentT& environment) {
6755 const LiteRtHwAcceleratorSet auto_register_accelerators =
6856 GetAutoRegisterAccelerators (environment);
69- // Register the NPU accelerator.
70- #if !defined(LITERT_DISABLE_NPU)
57+
7158 if (auto_register_accelerators & kLiteRtHwAcceleratorNpu ) {
72- if (auto npu_registration = LiteRtRegisterNpuAccelerator (&environment);
73- npu_registration == kLiteRtStatusOk ) {
74- LITERT_LOG (LITERT_INFO, " NPU accelerator registered." );
75- } else {
76- LITERT_LOG (LITERT_WARNING,
77- " NPU accelerator could not be loaded and registered: %s." ,
78- LiteRtGetStatusString (npu_registration));
79- }
59+ litert::internal::LiteRtRegisterNpuAccelerator (&environment);
8060 } else {
8161 LITERT_LOG (LITERT_VERBOSE,
8262 " NPU accelerator registration skipped by environment options." );
8363 }
84- #else
85- LITERT_LOG (LITERT_VERBOSE, " NPU accelerator accelerator is disabled." );
86- #endif
8764
88- // Register the WebNN accelerator if statically linked.
89- # if defined(__EMSCRIPTEN__)
90- if ((auto_register_accelerators & kLiteRtHwAcceleratorWebNn ) &&
91- LiteRtRegisterStaticLinkedAcceleratorWebNn != nullptr &&
92- LiteRtRegisterStaticLinkedAcceleratorWebNn (environment) ==
93- kLiteRtStatusOk ) {
94- LITERT_LOG (LITERT_INFO, " Statically linked WebNN accelerator registered ." );
65+ if (auto_register_accelerators &
66+ litert::internal:: kLiteRtHwAcceleratorWebNnAlias ) {
67+ litert::internal::LiteRtRegisterWebNnAccelerator (&environment);
68+ } else {
69+ LITERT_LOG (
70+ LITERT_VERBOSE,
71+ " WebNN accelerator registration skipped by environment options ." );
9572 }
96- #endif // defined(__EMSCRIPTEN__)
9773
9874 if (auto_register_accelerators & kLiteRtHwAcceleratorGpu ) {
9975 litert::internal::LiteRtRegisterGpuAccelerator (&environment);
0 commit comments