Skip to content

Commit e136113

Browse files
niuchlcopybara-github
authored andcommitted
Re-structure CPU/GPU accelerator registration.
LiteRT-PiperOrigin-RevId: 893621181
1 parent ecc0aac commit e136113

14 files changed

Lines changed: 461 additions & 315 deletions

litert/c/internal/BUILD

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -447,21 +447,6 @@ _HEADER_FILES_FOR_SHARED_LIB = [
447447

448448
exports_files(srcs = _HEADER_FILES_FOR_SHARED_LIB)
449449

450-
cc_library(
451-
name = "litert_static_accelerator_registry",
452-
srcs = ["litert_static_accelerator_registry.cc"],
453-
hdrs = ["litert_static_accelerator_registry.h"],
454-
visibility = [
455-
"//litert/runtime/accelerators:__subpackages__",
456-
"//third_party/odml/litert/ml_drift:__subpackages__",
457-
],
458-
deps = [
459-
":litert_accelerator_def",
460-
"//litert/c:litert_common",
461-
],
462-
alwayslink = 1,
463-
)
464-
465450
filegroup(
466451
name = "internal_headers",
467452
srcs = _HEADER_FILES_FOR_SHARED_LIB,

litert/c/internal/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ set(LITERT_C_INTERNAL_HEADERS
2626
internal/litert_runtime_c_api.h
2727
internal/litert_runtime_context.h
2828
internal/litert_scheduling_info.h
29-
internal/litert_static_accelerator_registry.h
3029
internal/litert_tensor_buffer_registry.h
3130
)
3231

@@ -36,7 +35,6 @@ set(LITERT_C_INTERNAL_SOURCES
3635
internal/litert_delegate_wrapper.cc
3736
internal/litert_external_litert_buffer_context.cc
3837
internal/litert_runtime_context.cc
39-
internal/litert_static_accelerator_registry.cc
4038
internal/litert_tensor_buffer_registry.cc
4139
)
4240

litert/c/internal/litert_static_accelerator_registry.h

Lines changed: 0 additions & 44 deletions
This file was deleted.

litert/runtime/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ cmake_minimum_required(VERSION 3.20)
1818
set(LITERT_RUNTIME_SOURCES
1919
accelerator_registry.cc
2020
accelerators/auto_registration.cc
21+
accelerators/cpu_registry.cc
22+
accelerators/gpu_registry.cc
23+
accelerators/registration_helper.cc
2124
accelerators/dispatch/dispatch_accelerator.cc
2225
accelerators/xnnpack/xnnpack_accelerator.cc
2326
ahwb_buffer.cc
@@ -73,10 +76,6 @@ if(APPLE)
7376
target_link_libraries(litert_runtime PRIVATE "-framework Metal" "-framework Foundation" "-framework OpenGL")
7477
endif()
7578

76-
target_compile_options(litert_runtime PRIVATE
77-
-DLITERT_USE_XNNPACK
78-
)
79-
8079
target_include_directories(litert_runtime
8180
PUBLIC
8281
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>

litert/runtime/accelerators/BUILD

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,59 @@ cc_library(
2323
name = "auto_registration",
2424
srcs = ["auto_registration.cc"],
2525
hdrs = ["auto_registration.h"],
26-
copts = select({
27-
"//litert/build_common:litert_disable_cpu": [],
28-
"//conditions:default": [
29-
"-DLITERT_USE_XNNPACK",
30-
],
31-
}),
3226
deps = [
27+
":cpu_registry",
28+
":gpu_registry",
29+
":registration_helper",
3330
"//litert/c:litert_any",
3431
"//litert/c:litert_common",
3532
"//litert/c:litert_environment_options",
3633
"//litert/c/internal:litert_accelerator_def",
3734
"//litert/c/internal:litert_accelerator_registration",
3835
"//litert/c/internal:litert_logging",
39-
"//litert/c/internal:litert_static_accelerator_registry",
4036
"//litert/c/internal:litert_tensor_buffer_registry_header",
4137
"//litert/cc:litert_expected",
4238
"//litert/cc:litert_macros",
43-
"//litert/cc/internal:litert_shared_library",
4439
"//litert/core:environment",
4540
"//litert/runtime/accelerators/dispatch:dispatch_accelerator",
4641
"@com_google_absl//absl/strings",
42+
],
43+
)
44+
45+
cc_library(
46+
name = "accelerator_implementation_helper",
47+
hdrs = ["accelerator_implementation_helper.h"],
48+
deps = [
49+
"//litert/c:litert_common",
50+
"//litert/c/internal:litert_accelerator_registration",
51+
"//litert/cc:litert_expected",
52+
"//litert/cc:litert_macros",
53+
"@com_google_absl//absl/strings:string_view",
54+
],
55+
)
56+
57+
cc_library(
58+
name = "registration_helper",
59+
srcs = ["registration_helper.cc"],
60+
hdrs = ["registration_helper.h"],
61+
deps = [
62+
"//litert/c:litert_common",
63+
"//litert/c/internal:litert_accelerator_def",
64+
"//litert/c/internal:litert_accelerator_registration",
65+
"//litert/c/internal:litert_tensor_buffer_registry_header",
66+
"//litert/cc:litert_macros",
67+
],
68+
)
69+
70+
cc_library(
71+
name = "cpu_registry",
72+
srcs = ["cpu_registry.cc"],
73+
hdrs = ["cpu_registry.h"],
74+
deps = [
75+
":registration_helper",
76+
"//litert/c:litert_common",
77+
"//litert/c/internal:litert_accelerator_def",
78+
"//litert/c/internal:litert_logging",
4779
] + select({
4880
"//litert/build_common:litert_disable_cpu": [],
4981
"//conditions:default": [
@@ -53,13 +85,20 @@ cc_library(
5385
)
5486

5587
cc_library(
56-
name = "accelerator_implementation_helper",
57-
hdrs = ["accelerator_implementation_helper.h"],
88+
name = "gpu_registry",
89+
srcs = ["gpu_registry.cc"],
90+
hdrs = ["gpu_registry.h"],
5891
deps = [
92+
":registration_helper",
93+
"//litert/c:litert_any",
5994
"//litert/c:litert_common",
60-
"//litert/c/internal:litert_accelerator_registration",
95+
"//litert/c:litert_environment_options",
96+
"//litert/c/internal:litert_accelerator_def",
97+
"//litert/c/internal:litert_logging",
6198
"//litert/cc:litert_expected",
6299
"//litert/cc:litert_macros",
63-
"@com_google_absl//absl/strings:string_view",
100+
"//litert/cc/internal:litert_shared_library",
101+
"//litert/core:environment",
102+
"@com_google_absl//absl/strings",
64103
],
65104
)

0 commit comments

Comments
 (0)