Skip to content

Commit 21d3b9d

Browse files
committed
Revert "Implement Android Vulkan support"
This reverts commit bec6928.
1 parent 6d51fea commit 21d3b9d

7 files changed

Lines changed: 7 additions & 91 deletions

File tree

.github/scripts/build_openssl.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ get_android_toolchain() {
5151
local api_level=$2
5252

5353
case $arch in
54-
android-arm64|android-arm64-vulkan)
54+
android-arm64)
5555
export ANDROID_ARCH="aarch64"
5656
export ANDROID_EABI="aarch64-linux-android"
5757
export OPENSSL_ARCH="android-arm64"
@@ -157,7 +157,7 @@ main() {
157157
mkdir -p $WORK_DIR $INSTALL_DIR/$arch
158158

159159
case $arch in
160-
android-arm64|android-arm64-vulkan)
160+
android-arm64)
161161
build_openssl_android $arch
162162
;;
163163
android-x64)

.github/workflows/build_library.yaml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ jobs:
5353
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
5454
sudo apt-get update -y
5555
sudo apt-get install -y build-essential vulkan-sdk
56-
57-
- id: copy_vulkan_linux
58-
if: contains(matrix.arch, 'vulkan')
59-
name: Copy Vulcan
60-
run: |
6156
cp /lib/x86_64-linux-gnu/libvulkan.so.1 build/libs/
6257
6358
- id: setup_cuda_linux
@@ -545,8 +540,6 @@ jobs:
545540
ABI: arm64-v8a
546541
- arch: android-x64
547542
ABI: x86_64
548-
- arch: android-arm64-vulkan
549-
ABI: arm64-v8a
550543

551544
steps:
552545
- id: setup_libs_linux
@@ -568,23 +561,6 @@ jobs:
568561
echo "CMAKE_VARS=-DARCHITECTURE=${{ matrix.arch }} -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${{ github.workspace }}/build/libs -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=${{ github.workspace }}/build/libs -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${{ github.workspace }}/build/libs ${{ matrix.cmake_vars }}" >> $GITHUB_ENV
569562
shell: bash
570563

571-
- id: setup_vulkan_linux
572-
if: contains(matrix.arch, 'vulkan')
573-
name: Dependencies Vulcan
574-
run: |
575-
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
576-
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
577-
sudo apt-get update -y
578-
sudo apt-get install -y build-essential vulkan-sdk
579-
580-
- id: setup_vulcan_android
581-
if: contains(matrix.arch, 'vulkan')
582-
name: Install Vulkan headers
583-
run: |
584-
git submodule add https://github.com/KhronosGroup/Vulkan-Headers.git third_party/Vulkan-Headers
585-
cd third_party/Vulkan-Headers
586-
git checkout v1.3.275
587-
588564

589565
- id: cpu-cores
590566
name: Get number of CPU cores
@@ -601,7 +577,7 @@ jobs:
601577
export LD_LIBRARY_PATH=""
602578
export NDK=`ls -d /usr/local/lib/android/sdk/ndk/27.*`
603579
cd build
604-
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-29 -DANDROID_ABI=${{ matrix.ABI }} ${{ env.CMAKE_VARS }}
580+
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DANDROID_ABI=${{ matrix.ABI }} ${{ env.CMAKE_VARS }}
605581
cmake --build . --config Release -j ${{ steps.cpu-cores.outputs.count }}
606582
607583

.github/workflows_template/build_library_steps.yaml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,6 @@ jobs:
123123
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
124124
sudo apt-get update -y
125125
sudo apt-get install -y build-essential vulkan-sdk
126-
127-
- name: Copy Vulcan
128-
id: copy_vulkan_linux
129-
if: contains(matrix.arch, 'vulkan')
130-
run: |
131126
cp /lib/x86_64-linux-gnu/libvulkan.so.1 build/libs/
132127
133128
- uses: Jimver/cuda-toolkit@v0.2.15
@@ -247,21 +242,13 @@ jobs:
247242
248243
################################ Android ################################
249244

250-
- name: Install Vulkan headers
251-
id: setup_vulcan_android
252-
if: contains(matrix.arch, 'vulkan')
253-
run: |
254-
git submodule add https://github.com/KhronosGroup/Vulkan-Headers.git third_party/Vulkan-Headers
255-
cd third_party/Vulkan-Headers
256-
git checkout v1.3.275
257-
258245
- name: Build
259246
id: cmake_build_android
260247
run: |
261248
export LD_LIBRARY_PATH=""
262249
export NDK=`ls -d /usr/local/lib/android/sdk/ndk/27.*`
263250
cd build
264-
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-29 -DANDROID_ABI=${{ matrix.ABI }} ${{ env.CMAKE_VARS }}
251+
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DANDROID_ABI=${{ matrix.ABI }} ${{ env.CMAKE_VARS }}
265252
cmake --build . --config Release -j ${{ steps.cpu-cores.outputs.count }}
266253
267254
################################ iOS ################################

.github/workflows_template/build_library_template.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
@@checkout@@
3131
@@preparation@@
3232
@@setup_vulkan_linux@@
33-
@@copy_vulkan_linux@@
3433
@@setup_cuda_linux@@
3534
@@link_cuda_linux@@
3635

@@ -147,15 +146,11 @@ jobs:
147146
ABI: arm64-v8a
148147
- arch: android-x64
149148
ABI: x86_64
150-
- arch: android-arm64-vulkan
151-
ABI: arm64-v8a
152149

153150
steps:
154151
@@setup_libs_linux@@
155152
@@checkout@@
156153
@@preparation@@
157-
@@setup_vulkan_linux@@
158-
@@setup_vulcan_android@@
159154

160155
@@cpu-cores@@
161156
@@build_openssl@@

CMakeLists.txt

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -48,42 +48,6 @@ endif()
4848

4949
set(LLAMA_CPP_ROOT ${CMAKE_SOURCE_DIR}/third_party/llama.cpp)
5050

51-
if(ARCHITECTURE MATCHES "android" AND ARCHITECTURE MATCHES "vulkan")
52-
# Derive triple from ANDROID_ABI
53-
if(ANDROID_ABI STREQUAL "arm64-v8a")
54-
set(ANDROID_ARCH_TRIPLE "aarch64-linux-android")
55-
elseif(ANDROID_ABI STREQUAL "armeabi-v7a")
56-
set(ANDROID_ARCH_TRIPLE "arm-linux-androideabi")
57-
elseif(ANDROID_ABI STREQUAL "x86_64")
58-
set(ANDROID_ARCH_TRIPLE "x86_64-linux-android")
59-
elseif(ANDROID_ABI STREQUAL "x86")
60-
set(ANDROID_ARCH_TRIPLE "i686-linux-android")
61-
else()
62-
message(FATAL_ERROR "Unknown ANDROID_ABI: ${ANDROID_ABI}")
63-
endif()
64-
65-
message(STATUS "ANDROID_ABI=${ANDROID_ABI}")
66-
message(STATUS "ANDROID_ARCH_TRIPLE=${ANDROID_ARCH_TRIPLE}")
67-
message(STATUS "CMAKE_SYSROOT=${CMAKE_SYSROOT}")
68-
69-
string(REGEX REPLACE "android-" "" ANDROID_API_LEVEL "${ANDROID_PLATFORM}")
70-
set(Vulkan_LIBRARY "${CMAKE_SYSROOT}/usr/lib/${ANDROID_ARCH_TRIPLE}/${ANDROID_API_LEVEL}/libvulkan.so")
71-
set(Vulkan_FOUND TRUE)
72-
set(Vulkan_VERSION "1.3.275")
73-
set(Vulkan_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/third_party/Vulkan-Headers/include")
74-
75-
if(NOT EXISTS "${Vulkan_LIBRARY}")
76-
message(FATAL_ERROR "Vulkan stub not found at: ${Vulkan_LIBRARY}")
77-
endif()
78-
79-
find_program(Vulkan_GLSLC_EXECUTABLE
80-
NAMES glslc
81-
PATHS "/usr/bin" "/usr/local/bin"
82-
NO_CMAKE_SYSTEM_PATH)
83-
set(Vulkan_GLSLC_EXECUTABLE "${Vulkan_GLSLC_EXECUTABLE}" CACHE FILEPATH "" FORCE)
84-
endif()
85-
86-
8751
function(LLAMALIB_COMPILE_DEFS NAME)
8852
add_compile_definitions(${NAME} PRIVATE UNDREAMAI_EXPORTS)
8953
target_include_directories(${NAME} PRIVATE "${CMAKE_SOURCE_DIR}/include")

src/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ add_library(
2424
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
2525
target_link_options(${LLAMALIB_ARCHITECTURE_LIBRARY} PRIVATE -Wl,--no-undefined)
2626
endif()
27-
if(ARCHITECTURE MATCHES "android" AND ARCHITECTURE MATCHES "vulkan")
28-
target_link_libraries(${LLAMALIB_ARCHITECTURE_LIBRARY} PRIVATE "${Vulkan_LIBRARY}")
29-
endif()
3027
LLAMALIB_COMPILE_DEFS(${LLAMALIB_ARCHITECTURE_LIBRARY})
3128
target_include_directories(${LLAMALIB_ARCHITECTURE_LIBRARY} PRIVATE "${LLAMA_CPP_ROOT}/src" "${LLAMA_CPP_ROOT}/ggml/include" "${LLAMA_CPP_ROOT}/tools/server" "${LLAMA_CPP_ROOT}/tools/mtmd" "${LLAMA_CPP_ROOT}/common")
3229
target_link_libraries(${LLAMALIB_ARCHITECTURE_LIBRARY} PRIVATE common mtmd)

third_party/CMakeLists.txt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ elseif(ARCHITECTURE MATCHES "avx2")
3030
# Nothing to define
3131
elseif(ARCHITECTURE MATCHES "avx")
3232
SET(GGML_AVX2 OFF)
33+
elseif(ARCHITECTURE MATCHES "vulkan")
34+
SET(GGML_VULKAN ON)
3335
elseif(ARCHITECTURE MATCHES "tinyblas")
3436
SET(GGML_CUDA ON)
3537
set(GGML_CUDA_FA OFF)
@@ -61,11 +63,6 @@ elseif(ARCHITECTURE MATCHES "android")
6163
else()
6264
add_compile_options("-march=x86-64")
6365
endif()
64-
if(ARCHITECTURE MATCHES "vulkan")
65-
SET(GGML_VULKAN ON)
66-
endif()
67-
elseif(ARCHITECTURE MATCHES "vulkan")
68-
SET(GGML_VULKAN ON)
6966
elseif(ARCHITECTURE MATCHES "ios" OR ARCHITECTURE MATCHES "visionos")
7067
SET(GGML_METAL_EMBED_LIBRARY ON)
7168
elseif(ARCHITECTURE STREQUAL "")
@@ -170,4 +167,4 @@ if(ARCHITECTURE MATCHES "tinyblas")
170167
target_compile_definitions(${target} PUBLIC GGML_USE_TINYBLAS GGML_CUDA_NO_FA GGML_CUDA_NO_IQUANTS)
171168
endif()
172169
endforeach()
173-
endif()
170+
endif()

0 commit comments

Comments
 (0)