Skip to content

Commit 5156615

Browse files
authored
Resync Android related BUCK file
Pull Request resolved: #5099
1 parent a8c592e commit 5156615

File tree

4 files changed

+252
-0
lines changed
  • examples/demo-apps/android
    • ExecuTorchDemo/app/src/main
    • LlamaDemo/app/src/main
  • extension/android

4 files changed

+252
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
load("@fbsource//tools/build_defs:manifold.bzl", "manifold_get")
2+
load("@fbsource//tools/build_defs/android:fb_android_binary.bzl", "fb_android_binary")
3+
load("@fbsource//tools/build_defs/android:fb_android_library.bzl", "fb_android_library")
4+
load("@fbsource//tools/build_defs/android:fb_android_resource.bzl", "fb_android_resource")
5+
6+
manifold_get(
7+
name = "dl3_xnnpack_fp32",
8+
out = "dl3_xnnpack_fp32.pte",
9+
api_key = "executorch-key",
10+
artifact_path = "tree/models/benchmarking/executorch/dl3_xnnpack_fp32.pte",
11+
bucket_name = "executorch",
12+
sha1 = "3e7af1d8f5ec4acb6de156d361715e16e5f53783",
13+
timeout_msec = 120000,
14+
)
15+
16+
fb_android_resource(
17+
name = "app_res",
18+
assets = "assets",
19+
package = "com.example.executorchdemo",
20+
res = "res",
21+
)
22+
23+
fb_android_resource(
24+
name = "model_res",
25+
assets = {"dl3_xnnpack_fp32.pte": ":dl3_xnnpack_fp32"},
26+
package = "com.example.executorchdemo",
27+
res = "res",
28+
)
29+
30+
fb_android_library(
31+
name = "app_lib",
32+
srcs = [
33+
"java/com/example/executorchdemo/ClassificationActivity.java",
34+
"java/com/example/executorchdemo/ImageNetClasses.java",
35+
"java/com/example/executorchdemo/MainActivity.java",
36+
"java/com/example/executorchdemo/TensorImageUtils.java",
37+
],
38+
autoglob = False,
39+
language = "JAVA",
40+
deps = [
41+
":app_res",
42+
"//xplat/executorch/extension/android:executorch",
43+
],
44+
)
45+
46+
fb_android_binary(
47+
name = "ExecuTorchDemo",
48+
keystore = "//fbandroid/keystores:debug",
49+
manifest = "AndroidManifest.xml",
50+
manifest_entries = {
51+
"min_sdk_version": 19, # Android supports 19 for minimum
52+
"target_sdk_version": 34,
53+
"version_code": "1",
54+
"version_name": "1.0",
55+
},
56+
package_type = "release",
57+
skip_proguard = True,
58+
deps = [
59+
":app_lib",
60+
":app_res",
61+
":model_res",
62+
"//third-party/java/androidx/appcompat/appcompat:appcompat",
63+
"//third-party/java/androidx/constraintlayout/constraintlayout:constraintlayout",
64+
"//xplat/executorch/extension/android:executorch",
65+
"//xplat/executorch/extension/android/jni:executorch_jni_full",
66+
],
67+
)
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
load("@fbsource//tools/build_defs/android:fb_android_binary.bzl", "fb_android_binary")
2+
load("@fbsource//tools/build_defs/android:fb_android_library.bzl", "fb_android_library")
3+
load("@fbsource//tools/build_defs/android:fb_android_resource.bzl", "fb_android_resource")
4+
5+
oncall("executorch")
6+
7+
fb_android_resource(
8+
name = "app_res",
9+
package = "com.example.executorchllamademo",
10+
res = "res",
11+
)
12+
13+
fb_android_library(
14+
name = "app_lib",
15+
srcs = [
16+
"java/com/example/executorchllamademo/AppLog.java",
17+
"java/com/example/executorchllamademo/DemoSharedPreferences.java",
18+
"java/com/example/executorchllamademo/ETImage.java",
19+
"java/com/example/executorchllamademo/ETLogging.java",
20+
"java/com/example/executorchllamademo/LlmBenchmarkRunner.java",
21+
"java/com/example/executorchllamademo/LogsActivity.java",
22+
"java/com/example/executorchllamademo/LogsAdapter.java",
23+
"java/com/example/executorchllamademo/MainActivity.java",
24+
"java/com/example/executorchllamademo/Message.java",
25+
"java/com/example/executorchllamademo/MessageAdapter.java",
26+
"java/com/example/executorchllamademo/MessageType.java",
27+
"java/com/example/executorchllamademo/ModelRunner.java",
28+
"java/com/example/executorchllamademo/ModelRunnerCallback.java",
29+
"java/com/example/executorchllamademo/ModelType.java",
30+
"java/com/example/executorchllamademo/PromptFormat.java",
31+
"java/com/example/executorchllamademo/SettingsActivity.java",
32+
"java/com/example/executorchllamademo/SettingsFields.java",
33+
],
34+
autoglob = False,
35+
language = "JAVA",
36+
deps = [
37+
":app_res",
38+
"//third-party/java/androidx/constraintlayout/constraintlayout:constraintlayout",
39+
"//third-party/java/com/google/code/gson/gson:gson",
40+
"//xplat/executorch/extension/android:executorch_llama",
41+
],
42+
)
43+
44+
fb_android_binary(
45+
name = "ExecuTorchLlamaDemo",
46+
keystore = "//fbandroid/keystores:debug",
47+
manifest = "AndroidManifest.xml",
48+
manifest_entries = {
49+
"min_sdk_version": 21,
50+
"target_sdk_version": 34,
51+
"version_code": "1",
52+
"version_name": "1.0",
53+
},
54+
package_type = "release",
55+
skip_proguard = True,
56+
deps = [
57+
":app_lib",
58+
":app_res",
59+
"//third-party/java/androidx/appcompat/appcompat:appcompat",
60+
"//third-party/java/com/google/code/gson/gson:gson",
61+
"//xplat/executorch/extension/android:executorch_llama",
62+
"//xplat/executorch/extension/android/jni:executorch_llama_jni",
63+
],
64+
)

extension/android/BUCK

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
load("@fbsource//tools/build_defs/android:fb_android_library.bzl", "fb_android_library")
2+
3+
oncall("executorch")
4+
5+
fb_android_library(
6+
name = "executorch",
7+
srcs = [
8+
"src/main/java/org/pytorch/executorch/DType.java",
9+
"src/main/java/org/pytorch/executorch/EValue.java",
10+
"src/main/java/org/pytorch/executorch/Module.java",
11+
"src/main/java/org/pytorch/executorch/NativePeer.java",
12+
"src/main/java/org/pytorch/executorch/Tensor.java",
13+
],
14+
autoglob = False,
15+
language = "JAVA",
16+
deps = [
17+
"//fbandroid/java/com/facebook/jni:jni",
18+
"//fbandroid/libraries/soloader/java/com/facebook/soloader/nativeloader:nativeloader",
19+
],
20+
)
21+
22+
fb_android_library(
23+
name = "executorch_llama",
24+
srcs = [
25+
"src/main/java/org/pytorch/executorch/LlamaCallback.java",
26+
"src/main/java/org/pytorch/executorch/LlamaModule.java",
27+
],
28+
autoglob = False,
29+
language = "JAVA",
30+
deps = [
31+
"//fbandroid/java/com/facebook/jni:jni",
32+
"//fbandroid/libraries/soloader/java/com/facebook/soloader/nativeloader:nativeloader",
33+
],
34+
)

extension/android/jni/BUCK

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
load("@fbsource//tools/build_defs/android:fb_android_cxx_library.bzl", "fb_android_cxx_library")
2+
load("@fbsource//xplat/executorch/codegen:codegen.bzl", "executorch_generated_lib")
3+
4+
oncall("executorch")
5+
6+
executorch_generated_lib(
7+
name = "generated_op_lib_optimized",
8+
custom_ops_aten_kernel_deps = [
9+
"//executorch/kernels/portable:operators_aten",
10+
],
11+
custom_ops_yaml_target = "//executorch/kernels/portable:custom_ops.yaml",
12+
define_static_targets = True,
13+
fallback_yaml_target = "//executorch/kernels/portable:functions.yaml",
14+
functions_yaml_target = "//executorch/kernels/optimized:optimized.yaml",
15+
visibility = ["PUBLIC"],
16+
deps = [
17+
"//executorch/kernels/optimized:optimized_operators",
18+
"//executorch/kernels/optimized:optimized_oplist",
19+
"//executorch/kernels/portable:executorch_aten_ops",
20+
"//executorch/kernels/portable:executorch_custom_ops",
21+
"//executorch/kernels/portable:operators",
22+
],
23+
)
24+
25+
fb_android_cxx_library(
26+
name = "executorch_jni",
27+
srcs = ["jni_layer.cpp"],
28+
headers = ["jni_layer_constants.h"],
29+
allow_jni_merging = False,
30+
compiler_flags = [
31+
"-frtti",
32+
"-fexceptions",
33+
],
34+
soname = "libexecutorch.$(ext)",
35+
visibility = ["PUBLIC"],
36+
deps = [
37+
"//fbandroid/libraries/fbjni:fbjni",
38+
"//fbandroid/native/fb:fb",
39+
"//third-party/glog:glog",
40+
"//xplat/executorch/extension/module:module_static",
41+
"//xplat/executorch/extension/runner_util:managed_tensor_static",
42+
],
43+
)
44+
45+
fb_android_cxx_library(
46+
name = "executorch_jni_full",
47+
srcs = ["jni_layer.cpp"],
48+
headers = ["jni_layer_constants.h"],
49+
allow_jni_merging = False,
50+
compiler_flags = [
51+
"-frtti",
52+
"-fexceptions",
53+
],
54+
soname = "libexecutorch.$(ext)",
55+
visibility = ["PUBLIC"],
56+
deps = [
57+
":generated_op_lib_optimized_static",
58+
"//fbandroid/libraries/fbjni:fbjni",
59+
"//fbandroid/native/fb:fb",
60+
"//third-party/glog:glog",
61+
"//xplat/executorch/backends/xnnpack:xnnpack_backend_static",
62+
"//xplat/executorch/extension/module:module_static",
63+
"//xplat/executorch/extension/runner_util:managed_tensor_static",
64+
],
65+
)
66+
67+
fb_android_cxx_library(
68+
name = "executorch_llama_jni",
69+
srcs = ["jni_layer_llama.cpp"],
70+
allow_jni_merging = False,
71+
compiler_flags = [
72+
"-frtti",
73+
"-fexceptions",
74+
"-Wno-format",
75+
],
76+
soname = "libexecutorch_llama_jni.$(ext)",
77+
visibility = ["PUBLIC"],
78+
deps = [
79+
"//fbandroid/libraries/fbjni:fbjni",
80+
"//fbandroid/native/fb:fb",
81+
"//third-party/glog:glog",
82+
"//xplat/executorch/examples/models/llama2/runner:runner_static",
83+
"//xplat/executorch/examples/models/llava/runner:runner_static",
84+
"//xplat/executorch/extension/threadpool:cpuinfo_utils_static",
85+
"//xplat/executorch/extension/threadpool:threadpool_static",
86+
],
87+
)

0 commit comments

Comments
 (0)