From ed23bc0918fd2e51b2b4f7255b08e3d1d8058b00 Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Tue, 23 Apr 2024 23:41:46 -0700 Subject: [PATCH 1/2] [Android] Fix upload workflow for release --- .github/workflows/android.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index fcc4115ed38..f08aeede385 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -53,9 +53,8 @@ jobs: mkdir -p artifacts-to-be-uploaded/x86_64/ # Copy the jar to S3 cp extension/android/build/libs/executorch.jar artifacts-to-be-uploaded/ - # Copy the app and its test suite to S3 + # Copy the app to S3 cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/debug/*.apk artifacts-to-be-uploaded/ - cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/androidTest/debug/*.apk artifacts-to-be-uploaded/ # Also copy the libraries cp cmake-out-android-arm64-v8a/lib/*.a artifacts-to-be-uploaded/arm64-v8a/ cp cmake-out-android-arm64-v8a/extension/android/*.so artifacts-to-be-uploaded/arm64-v8a/ From 670c1f87427b3b816d1297c77328ce910c6115ff Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Tue, 23 Apr 2024 23:16:41 -0700 Subject: [PATCH 2/2] [RELEASE ONLY] Android custom op registration --- examples/demo-apps/android/LlamaDemo/setup.sh | 2 ++ extension/android/CMakeLists.txt | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/demo-apps/android/LlamaDemo/setup.sh b/examples/demo-apps/android/LlamaDemo/setup.sh index 8bdba698645..f515aa22cc7 100644 --- a/examples/demo-apps/android/LlamaDemo/setup.sh +++ b/examples/demo-apps/android/LlamaDemo/setup.sh @@ -16,6 +16,7 @@ cmake . -DCMAKE_INSTALL_PREFIX="${CMAKE_OUT}" \ -DEXECUTORCH_BUILD_EXTENSION_DATA_LOADER=ON \ -DEXECUTORCH_BUILD_EXTENSION_MODULE=ON \ -DEXECUTORCH_BUILD_OPTIMIZED=ON \ + -DEXECUTORCH_BUILD_XNNPACK=ON \ -DCMAKE_BUILD_TYPE=Release \ -B"${CMAKE_OUT}" @@ -30,6 +31,7 @@ cmake examples/models/llama2 \ -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -DANDROID_ABI="$ANDROID_ABI" \ -DCMAKE_INSTALL_PREFIX="${CMAKE_OUT}" \ + -DEXECUTORCH_BUILD_XNNPACK=ON \ -DCMAKE_BUILD_TYPE=Release \ -B"${CMAKE_OUT}"/examples/models/llama2 diff --git a/extension/android/CMakeLists.txt b/extension/android/CMakeLists.txt index 4d4460203c0..27bae6a9730 100644 --- a/extension/android/CMakeLists.txt +++ b/extension/android/CMakeLists.txt @@ -61,6 +61,12 @@ if(EXECUTORCH_BUILD_LLAMA_JNI) set(CUSTOM_OPS_PATH ${CMAKE_CURRENT_BINARY_DIR}/../../examples/models/llama2/custom_ops/libcustom_ops.a) add_library(custom_ops STATIC IMPORTED) set_property(TARGET custom_ops PROPERTY IMPORTED_LOCATION ${CUSTOM_OPS_PATH}) + target_link_options_shared_lib(custom_ops) + + set(CUSTOM_OPS_LIB_PATH ${CMAKE_CURRENT_BINARY_DIR}/../../examples/models/llama2/custom_ops/libcustom_ops_lib.a) + add_library(custom_ops_lib STATIC IMPORTED) + set_property(TARGET custom_ops_lib PROPERTY IMPORTED_LOCATION ${CUSTOM_OPS_LIB_PATH}) + target_link_options_shared_lib(custom_ops_lib) if(TARGET pthreadpool) set(LLAMA_JNI_SRCS jni/jni_layer_llama.cpp ../../backends/xnnpack/threadpool/cpuinfo_utils.cpp) @@ -77,6 +83,6 @@ if(EXECUTORCH_BUILD_LLAMA_JNI) endif() target_include_directories(executorch_llama_jni PRIVATE ${_common_include_directories}) target_link_libraries(executorch_llama_jni ${link_libraries} llama_runner - custom_ops cpublas eigen_blas) + custom_ops custom_ops_lib cpublas eigen_blas) target_compile_options(executorch_llama_jni PUBLIC ${_common_compile_options}) endif()