mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	cmake : put libs in /bin
This commit is contained in:
		
							
								
								
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -88,7 +88,7 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           cp LICENSE ./build/bin/ |           cp LICENSE ./build/bin/ | ||||||
|           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp |           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp | ||||||
|           zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/* ./build/lib/* ./build/include/* |           zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/* | ||||||
|  |  | ||||||
|       - name: Upload artifacts |       - name: Upload artifacts | ||||||
|         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} |         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} | ||||||
| @@ -151,7 +151,7 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           cp LICENSE ./build/bin/ |           cp LICENSE ./build/bin/ | ||||||
|           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp |           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp | ||||||
|           zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/* ./build/lib/* ./build/include/* |           zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/* | ||||||
|  |  | ||||||
|       - name: Upload artifacts |       - name: Upload artifacts | ||||||
|         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} |         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} | ||||||
| @@ -181,7 +181,10 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_CURL=ON -DGGML_RPC=ON |           cmake .. \ | ||||||
|  |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|  |             -DLLAMA_CURL=ON \ | ||||||
|  |             -DGGML_RPC=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build . --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
| @@ -220,7 +223,7 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           cp LICENSE ./build/bin/ |           cp LICENSE ./build/bin/ | ||||||
|           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp |           cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp | ||||||
|           zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.zip ./build/bin/* ./build/lib/* ./build/include/* |           zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.zip ./build/bin/* | ||||||
|  |  | ||||||
|       - name: Upload artifacts |       - name: Upload artifacts | ||||||
|         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} |         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} | ||||||
| @@ -256,7 +259,10 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} |           cmake .. \ | ||||||
|  |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|  |             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ | ||||||
|  |             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} | ||||||
|           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) |           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Build (no OpenMP) |       - name: Build (no OpenMP) | ||||||
| @@ -265,7 +271,11 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DGGML_OPENMP=OFF |           cmake .. \ | ||||||
|  |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|  |             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ | ||||||
|  |             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | ||||||
|  |             -DGGML_OPENMP=OFF | ||||||
|           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) |           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
| @@ -295,7 +305,8 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake -DGGML_RPC=ON .. |           cmake .. \ | ||||||
|  |             -DGGML_RPC=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build . --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
| @@ -325,7 +336,8 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake -DGGML_VULKAN=ON .. |           cmake .. \ | ||||||
|  |             -DGGML_VULKAN=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build . --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
| @@ -352,13 +364,18 @@ jobs: | |||||||
|       - name: Build with native CMake HIP support |       - name: Build with native CMake HIP support | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           cmake -B build -S . -DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" -DGGML_HIP=ON |           cmake -B build -S . \ | ||||||
|  |             -DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" \ | ||||||
|  |             -DGGML_HIP=ON | ||||||
|           cmake --build build --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Build with legacy HIP support |       - name: Build with legacy HIP support | ||||||
|         id: cmake_build_legacy_hip |         id: cmake_build_legacy_hip | ||||||
|         run: | |         run: | | ||||||
|           cmake -B build2 -S . -DCMAKE_C_COMPILER=hipcc -DCMAKE_CXX_COMPILER=hipcc -DGGML_HIP=ON |           cmake -B build2 -S . \ | ||||||
|  |             -DCMAKE_C_COMPILER=hipcc \ | ||||||
|  |             -DCMAKE_CXX_COMPILER=hipcc \ | ||||||
|  |             -DGGML_HIP=ON | ||||||
|           cmake --build build2 --config Release -j $(nproc) |           cmake --build build2 --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   ubuntu-22-cmake-musa: |   ubuntu-22-cmake-musa: | ||||||
| @@ -379,7 +396,8 @@ jobs: | |||||||
|       - name: Build with native CMake MUSA support |       - name: Build with native CMake MUSA support | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           cmake -B build -S . -DGGML_MUSA=ON |           cmake -B build -S . \ | ||||||
|  |             -DGGML_MUSA=ON | ||||||
|           cmake --build build --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   ubuntu-22-cmake-sycl: |   ubuntu-22-cmake-sycl: | ||||||
| @@ -420,7 +438,10 @@ jobs: | |||||||
|           source /opt/intel/oneapi/setvars.sh |           source /opt/intel/oneapi/setvars.sh | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx .. |           cmake .. \ | ||||||
|  |             -DGGML_SYCL=ON \ | ||||||
|  |             -DCMAKE_C_COMPILER=icx \ | ||||||
|  |             -DCMAKE_CXX_COMPILER=icpx | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build . --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   ubuntu-22-cmake-sycl-fp16: |   ubuntu-22-cmake-sycl-fp16: | ||||||
| @@ -461,7 +482,11 @@ jobs: | |||||||
|           source /opt/intel/oneapi/setvars.sh |           source /opt/intel/oneapi/setvars.sh | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON .. |           cmake .. \ | ||||||
|  |             -DGGML_SYCL=ON \ | ||||||
|  |             -DCMAKE_C_COMPILER=icx \ | ||||||
|  |             -DCMAKE_CXX_COMPILER=icpx \ | ||||||
|  |             -DGGML_SYCL_F16=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build . --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   # TODO: build with GGML_METAL=OFF because test-backend-ops fail on "Apple Paravirtual device" and I don't know |   # TODO: build with GGML_METAL=OFF because test-backend-ops fail on "Apple Paravirtual device" and I don't know | ||||||
| @@ -488,7 +513,9 @@ jobs: | |||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           mkdir build | ||||||
|           cd build |           cd build | ||||||
|           cmake -DLLAMA_FATAL_WARNINGS=ON -DGGML_METAL=OFF .. |           cmake .. \ | ||||||
|  |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|  |             -DGGML_METAL=OFF | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) |           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
| @@ -827,7 +854,13 @@ jobs: | |||||||
|  |  | ||||||
|         - name: Build with CMake |         - name: Build with CMake | ||||||
|           run: | |           run: | | ||||||
|             cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DGGML_NATIVE=OFF -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=89-real -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined -DLLAMA_FATAL_WARNINGS=ON |             cmake -S . -B build -G Ninja \ | ||||||
|  |               -DCMAKE_BUILD_TYPE=Release \ | ||||||
|  |               -DCMAKE_CUDA_ARCHITECTURES=89-real \ | ||||||
|  |               -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \ | ||||||
|  |               -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|  |               -DGGML_NATIVE=OFF \ | ||||||
|  |               -DGGML_CUDA=ON | ||||||
|             cmake --build build |             cmake --build build | ||||||
|  |  | ||||||
|   windows-2019-cmake-cuda: |   windows-2019-cmake-cuda: | ||||||
| @@ -916,7 +949,11 @@ jobs: | |||||||
|         shell: cmd |         shell: cmd | ||||||
|         run: | |         run: | | ||||||
|           call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" |           call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | ||||||
|           cmake -S . -B build -G "Ninja Multi-Config" -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DGGML_CUDA=ON -DGGML_RPC=ON |           cmake -S . -B build -G "Ninja Multi-Config" \ | ||||||
|  |             -DLLAMA_BUILD_SERVER=ON \ | ||||||
|  |             -DGGML_NATIVE=OFF \ | ||||||
|  |             -DGGML_CUDA=ON \ | ||||||
|  |             -DGGML_RPC=ON | ||||||
|           set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1 |           set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1 | ||||||
|           cmake --build build --config Release -j %NINJA_JOBS% -t ggml |           cmake --build build --config Release -j %NINJA_JOBS% -t ggml | ||||||
|           cmake --build build --config Release |           cmake --build build --config Release | ||||||
| @@ -1026,7 +1063,7 @@ jobs: | |||||||
|           cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin |           cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin | ||||||
|  |  | ||||||
|           echo "cp oneAPI running time dll files to ./build/bin done" |           echo "cp oneAPI running time dll files to ./build/bin done" | ||||||
|           7z a llama-${{ steps.tag.outputs.name }}-bin-win-sycl-x64.zip ./build/bin/* ./build/lib/* ./build/include/* |           7z a llama-${{ steps.tag.outputs.name }}-bin-win-sycl-x64.zip ./build/bin/* | ||||||
|  |  | ||||||
|       - name: Upload the release package |       - name: Upload the release package | ||||||
|         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} |         if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} | ||||||
| @@ -1069,7 +1106,12 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           $env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path) |           $env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path) | ||||||
|           $env:CMAKE_PREFIX_PATH="${env:HIP_PATH}" |           $env:CMAKE_PREFIX_PATH="${env:HIP_PATH}" | ||||||
|           cmake -G "Unix Makefiles" -B build -S . -DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" -DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" -DGGML_HIP=ON -DCMAKE_BUILD_TYPE=Release -DGGML_RPC=ON |           cmake -G "Unix Makefiles" -B build -S . \ | ||||||
|  |             -DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" \ | ||||||
|  |             -DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" \ | ||||||
|  |             -DCMAKE_BUILD_TYPE=Release \ | ||||||
|  |             -DGGML_HIP=ON \ | ||||||
|  |             -DGGML_RPC=ON | ||||||
|           cmake --build build -j ${env:NUMBER_OF_PROCESSORS} |           cmake --build build -j ${env:NUMBER_OF_PROCESSORS} | ||||||
|  |  | ||||||
|   windows-latest-cmake-hip-release: |   windows-latest-cmake-hip-release: | ||||||
| @@ -1107,7 +1149,13 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           $env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path) |           $env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path) | ||||||
|           $env:CMAKE_PREFIX_PATH="${env:HIP_PATH}" |           $env:CMAKE_PREFIX_PATH="${env:HIP_PATH}" | ||||||
|           cmake -G "Unix Makefiles" -B build -S . -DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" -DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" -DGGML_HIP=ON -DCMAKE_BUILD_TYPE=Release -DAMDGPU_TARGETS=${{ matrix.gpu_target }} -DGGML_RPC=ON |           cmake -G "Unix Makefiles" -B build -S . \ | ||||||
|  |             -DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" \ | ||||||
|  |             -DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" \ | ||||||
|  |             -DCMAKE_BUILD_TYPE=Release \ | ||||||
|  |             -DAMDGPU_TARGETS=${{ matrix.gpu_target }} \ | ||||||
|  |             -DGGML_HIP=ON \ | ||||||
|  |             -DGGML_RPC=ON | ||||||
|           cmake --build build -j ${env:NUMBER_OF_PROCESSORS} |           cmake --build build -j ${env:NUMBER_OF_PROCESSORS} | ||||||
|           md "build\bin\rocblas\library\" |           md "build\bin\rocblas\library\" | ||||||
|           cp "${env:HIP_PATH}\bin\hipblas.dll" "build\bin\" |           cp "${env:HIP_PATH}\bin\hipblas.dll" "build\bin\" | ||||||
|   | |||||||
| @@ -16,6 +16,7 @@ endif() | |||||||
| list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") | ||||||
|  |  | ||||||
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | ||||||
|  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | ||||||
|  |  | ||||||
| if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | ||||||
|     set(LLAMA_STANDALONE ON) |     set(LLAMA_STANDALONE ON) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Georgi Gerganov
					Georgi Gerganov