Skip to content

Commit 701b4f8

Browse files
netrunnerevehodlen
authored andcommitted
Fix broken Vulkan Cmake (properly) (ggml-org#5230)
* build vulkan as object * vulkan ci
1 parent bc5d042 commit 701b4f8

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,8 @@ jobs:
356356
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"'
357357
- build: 'kompute'
358358
defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_KOMPUTE=ON -DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON -DBUILD_SHARED_LIBS=ON'
359+
- build: 'vulkan'
360+
defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_VULKAN=ON -DBUILD_SHARED_LIBS=ON'
359361

360362
steps:
361363
- name: Clone
@@ -406,7 +408,7 @@ jobs:
406408
407409
- name: Install Vulkan SDK
408410
id: get_vulkan
409-
if: ${{ matrix.build == 'kompute' }}
411+
if: ${{ matrix.build == 'kompute' || matrix.build == 'vulkan' }}
410412
run: |
411413
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"
412414
& "$env:RUNNER_TEMP\VulkanSDK-Installer.exe" --accept-licenses --default-answer --confirm-command install
@@ -451,7 +453,7 @@ jobs:
451453
- name: Test
452454
id: cmake_test
453455
# not all machines have native AVX-512
454-
if: ${{ matrix.build != 'clblast' && matrix.build != 'kompute' && (matrix.build != 'avx512' || env.HAS_AVX512F == '1') }}
456+
if: ${{ matrix.build != 'clblast' && matrix.build != 'kompute' && matrix.build != 'vulkan' && (matrix.build != 'avx512' || env.HAS_AVX512F == '1') }}
455457
run: |
456458
cd build
457459
ctest -L main -C Release --verbose --timeout 900

CMakeLists.txt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -423,10 +423,7 @@ if (LLAMA_VULKAN)
423423
if (Vulkan_FOUND)
424424
message(STATUS "Vulkan found")
425425

426-
set(GGML_HEADERS_VULKAN ggml-vulkan.h)
427-
set(GGML_SOURCES_VULKAN ggml-vulkan.cpp)
428-
429-
add_library(ggml-vulkan STATIC ggml-vulkan.cpp ggml-vulkan.h)
426+
add_library(ggml-vulkan OBJECT ggml-vulkan.cpp ggml-vulkan.h)
430427
if (BUILD_SHARED_LIBS)
431428
set_target_properties(ggml-vulkan PROPERTIES POSITION_INDEPENDENT_CODE ON)
432429
endif()
@@ -1012,7 +1009,6 @@ add_library(ggml OBJECT
10121009
ggml-quants.h
10131010
${GGML_SOURCES_CUDA} ${GGML_HEADERS_CUDA}
10141011
${GGML_SOURCES_OPENCL} ${GGML_HEADERS_OPENCL}
1015-
${GGML_SOURCES_VULKAN} ${GGML_HEADERS_VULKAN}
10161012
${GGML_SOURCES_METAL} ${GGML_HEADERS_METAL}
10171013
${GGML_SOURCES_MPI} ${GGML_HEADERS_MPI}
10181014
${GGML_SOURCES_EXTRA} ${GGML_HEADERS_EXTRA}
@@ -1094,7 +1090,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LlamaConfig.cmake
10941090
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Llama)
10951091

10961092
set(GGML_PUBLIC_HEADERS "ggml.h" "ggml-alloc.h" "ggml-backend.h"
1097-
"${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}" "${GGML_HEADERS_VULKAN}"
1093+
"${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}"
10981094
"${GGML_HEADERS_METAL}" "${GGML_HEADERS_MPI}" "${GGML_HEADERS_EXTRA}")
10991095

11001096
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")

0 commit comments

Comments
 (0)