mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	Fix broken Vulkan Cmake (properly) (#5230)
* build vulkan as object * vulkan ci
This commit is contained in:
		
							
								
								
									
										6
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -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 | ||||
|   | ||||
| @@ -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}") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Eve
					Eve