mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	server: CI tests reduce build matrix (#5725)
This commit is contained in:
		
							
								
								
									
										78
									
								
								.github/workflows/server.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										78
									
								
								.github/workflows/server.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,11 +6,10 @@ on: | |||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - master |       - master | ||||||
|       - test/server-add-ci-test # FIXME remove |     paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/tests/**.*'] | ||||||
|     paths: ['.github/workflows/**', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*'] |  | ||||||
|   pull_request: |   pull_request: | ||||||
|     types: [opened, synchronize, reopened] |     types: [opened, synchronize, reopened] | ||||||
|     paths: ['**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*'] |     paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/tests/**.*'] | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   server: |   server: | ||||||
| @@ -18,45 +17,21 @@ jobs: | |||||||
|  |  | ||||||
|     strategy: |     strategy: | ||||||
|       matrix: |       matrix: | ||||||
|         build: [noavx, avx2, avx, avx512, cublas, clblast, openblas, kompute, vulkan] |  | ||||||
|         sanitizer: [ADDRESS, THREAD, UNDEFINED] |         sanitizer: [ADDRESS, THREAD, UNDEFINED] | ||||||
|         build_type: [Debug, Release] |         build_type: [Debug, Release] | ||||||
|         include: |         include: | ||||||
|           - build: 'noavx' |           - build_type: Release | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_AVX=OFF -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF' |             sanitizer: "" | ||||||
|             image: ubuntu:latest |         exclude: | ||||||
|           - build: 'avx2' |           - build_type: Release | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON' |             sanitizer: ADDRESS | ||||||
|             image: ubuntu:latest |           - build_type: Release | ||||||
|           - build: 'avx' |             sanitizer: THREAD | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_AVX2=OFF' |           - build_type: Release | ||||||
|             image: ubuntu:latest |             sanitizer: UNDEFINED | ||||||
|           - build: 'avx512' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_AVX512=ON' |  | ||||||
|             image: ubuntu:latest |  | ||||||
|             experimental: true |  | ||||||
|           - build: 'cublas' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON' |  | ||||||
|             image: nvidia/cuda:12.3.1-devel-ubuntu22.04 |  | ||||||
|             arch_not_available: true # require nvidia docker engine |  | ||||||
|           - build: 'clblast' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_CLBLAST=ON' |  | ||||||
|             image: ubuntu:latest |  | ||||||
|             arch_not_available: true |  | ||||||
|           - build: 'openblas' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS' |  | ||||||
|             image: ubuntu:latest |  | ||||||
|           - build: 'kompute' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_KOMPUTE=ON -DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON' |  | ||||||
|             image: ubuntu:latest |  | ||||||
|             arch_not_available: true |  | ||||||
|           - build: 'vulkan' |  | ||||||
|             defines: '-DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_VULKAN=ON' |  | ||||||
|             image: ubuntu:latest |  | ||||||
|             arch_not_available: true |  | ||||||
|  |  | ||||||
|     container: |     container: | ||||||
|       image: ${{ matrix.image }} |       image: ubuntu:latest | ||||||
|       ports: |       ports: | ||||||
|         - 8888 |         - 8888 | ||||||
|       options: --cpus 4 |       options: --cpus 4 | ||||||
| @@ -72,40 +47,22 @@ jobs: | |||||||
|           apt-get update |           apt-get update | ||||||
|           apt-get -y install \ |           apt-get -y install \ | ||||||
|             build-essential \ |             build-essential \ | ||||||
|             pkg-config \ |  | ||||||
|             git \ |             git \ | ||||||
|             cmake \ |             cmake \ | ||||||
|             python3-pip \ |             python3-pip \ | ||||||
|             wget \ |             wget \ | ||||||
|             psmisc |             psmisc | ||||||
|  |  | ||||||
|       - name: Download CLBlast |  | ||||||
|         id: get_clblast |  | ||||||
|         if: ${{ matrix.build == 'clblast' }} |  | ||||||
|         run: | |  | ||||||
|           apt install -y libclblast-dev |  | ||||||
|  |  | ||||||
|       - name: Download OpenBLAS |  | ||||||
|         id: get_openblas |  | ||||||
|         if: ${{ matrix.build == 'openblas' }} |  | ||||||
|         run: | |  | ||||||
|           apt-get -y install libopenblas-dev |  | ||||||
|  |  | ||||||
|       - name: Install Vulkan SDK |  | ||||||
|         id: get_vulkan |  | ||||||
|         if: ${{ matrix.build == 'kompute' || matrix.build == 'vulkan' }} |  | ||||||
|         run: | |  | ||||||
|           wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc |  | ||||||
|           wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list http://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list |  | ||||||
|           apt-get update |  | ||||||
|           apt-get -y install vulkan-sdk |  | ||||||
|  |  | ||||||
|       - name: Build |       - name: Build | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake .. -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.defines }} |           cmake .. \ | ||||||
|  |               -DLLAMA_NATIVE=OFF \ | ||||||
|  |               -DLLAMA_BUILD_SERVER=ON \ | ||||||
|  |               -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | ||||||
|  |               -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON ;  | ||||||
|           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) --target server |           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) --target server | ||||||
|  |  | ||||||
|       - name: Tests dependencies |       - name: Tests dependencies | ||||||
| @@ -121,7 +78,6 @@ jobs: | |||||||
|  |  | ||||||
|       - name: Tests |       - name: Tests | ||||||
|         id: server_integration_test |         id: server_integration_test | ||||||
|         continue-on-error: ${{ matrix.experimental || matrix.arch_not_available }} |  | ||||||
|         run: | |         run: | | ||||||
|           cd examples/server/tests |           cd examples/server/tests | ||||||
|           PORT=8888 ./tests.sh |           PORT=8888 ./tests.sh | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Pierrick Hymbert
					Pierrick Hymbert