summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEve <139727413+netrunnereve@users.noreply.github.com>2024-01-31 19:21:55 +0000
committerGitHub <noreply@github.com>2024-01-31 20:21:55 +0100
commit1cfb5372cf5707c8ec6dde7c874f4a44a6c4c915 (patch)
treea37fb76fc9e4623ecc29cfcbcc76b89ca2ec1ae5
parentd3bac7d58408c602ec1f1e423695f1df8410bb03 (diff)
Fix broken Vulkan Cmake (properly) (#5230)
* build vulkan as object * vulkan ci
-rw-r--r--.github/workflows/build.yml6
-rw-r--r--CMakeLists.txt8
2 files changed, 6 insertions, 8 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c6db1666..f4c374ce 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -356,6 +356,8 @@ jobs:
defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_BLAS=ON -DBUILD_SHARED_LIBS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS -DBLAS_INCLUDE_DIRS="$env:RUNNER_TEMP/openblas/include" -DBLAS_LIBRARIES="$env:RUNNER_TEMP/openblas/lib/openblas.lib"'
- build: 'kompute'
defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_KOMPUTE=ON -DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON -DBUILD_SHARED_LIBS=ON'
+ - build: 'vulkan'
+ defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_VULKAN=ON -DBUILD_SHARED_LIBS=ON'
steps:
- name: Clone
@@ -406,7 +408,7 @@ jobs:
- name: Install Vulkan SDK
id: get_vulkan
- if: ${{ matrix.build == 'kompute' }}
+ if: ${{ matrix.build == 'kompute' || matrix.build == 'vulkan' }}
run: |
curl.exe -o $env:RUNNER_TEMP/VulkanSDK-Installer.exe -L "https://sdk.lunarg.com/sdk/download/${env:VULKAN_VERSION}/windows/VulkanSDK-${env:VULKAN_VERSION}-Installer.exe"
& "$env:RUNNER_TEMP\VulkanSDK-Installer.exe" --accept-licenses --default-answer --confirm-command install
@@ -451,7 +453,7 @@ jobs:
- name: Test
id: cmake_test
# not all machines have native AVX-512
- if: ${{ matrix.build != 'clblast' && matrix.build != 'kompute' && (matrix.build != 'avx512' || env.HAS_AVX512F == '1') }}
+ if: ${{ matrix.build != 'clblast' && matrix.build != 'kompute' && matrix.build != 'vulkan' && (matrix.build != 'avx512' || env.HAS_AVX512F == '1') }}
run: |
cd build
ctest -L main -C Release --verbose --timeout 900
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 15a1101a..1ee455b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -423,10 +423,7 @@ if (LLAMA_VULKAN)
if (Vulkan_FOUND)
message(STATUS "Vulkan found")
- set(GGML_HEADERS_VULKAN ggml-vulkan.h)
- set(GGML_SOURCES_VULKAN ggml-vulkan.cpp)
-
- add_library(ggml-vulkan STATIC ggml-vulkan.cpp ggml-vulkan.h)
+ add_library(ggml-vulkan OBJECT ggml-vulkan.cpp ggml-vulkan.h)
if (BUILD_SHARED_LIBS)
set_target_properties(ggml-vulkan PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
@@ -1012,7 +1009,6 @@ add_library(ggml OBJECT
ggml-quants.h
${GGML_SOURCES_CUDA} ${GGML_HEADERS_CUDA}
${GGML_SOURCES_OPENCL} ${GGML_HEADERS_OPENCL}
- ${GGML_SOURCES_VULKAN} ${GGML_HEADERS_VULKAN}
${GGML_SOURCES_METAL} ${GGML_HEADERS_METAL}
${GGML_SOURCES_MPI} ${GGML_HEADERS_MPI}
${GGML_SOURCES_EXTRA} ${GGML_HEADERS_EXTRA}
@@ -1094,7 +1090,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LlamaConfig.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Llama)
set(GGML_PUBLIC_HEADERS "ggml.h" "ggml-alloc.h" "ggml-backend.h"
- "${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}" "${GGML_HEADERS_VULKAN}"
+ "${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}"
"${GGML_HEADERS_METAL}" "${GGML_HEADERS_MPI}" "${GGML_HEADERS_EXTRA}")
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")