mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	flake.nix : add rocm support and cleanup (#2808)
This commit is contained in:
		
							
								
								
									
										12
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -5,11 +5,11 @@ | ||||
|         "systems": "systems" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1685518550, | ||||
|         "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", | ||||
|         "lastModified": 1692799911, | ||||
|         "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", | ||||
|         "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -20,11 +20,11 @@ | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1685931219, | ||||
|         "narHash": "sha256-8EWeOZ6LKQfgAjB/USffUSELPRjw88A+xTcXnOUvO5M=", | ||||
|         "lastModified": 1692913444, | ||||
|         "narHash": "sha256-1SvMQm2DwofNxXVtNWWtIcTh7GctEVrS/Xel/mdc6iY=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "7409480d5c8584a1a83c422530419efe4afb0d19", | ||||
|         "rev": "18324978d632ffc55ef1d928e81630c620f4f447", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|   | ||||
							
								
								
									
										43
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								flake.nix
									
									
									
									
									
								
							| @@ -6,6 +6,9 @@ | ||||
|   outputs = { self, nixpkgs, flake-utils }: | ||||
|     flake-utils.lib.eachDefaultSystem (system: | ||||
|       let | ||||
|         name = "llama.cpp"; | ||||
|         src = ./.; | ||||
|         meta.mainProgram = "llama"; | ||||
|         inherit (pkgs.stdenv) isAarch32 isAarch64 isDarwin; | ||||
|         buildInputs = with pkgs; [ openmpi ]; | ||||
|         osSpecific = with pkgs; buildInputs ++ | ||||
| @@ -31,7 +34,7 @@ | ||||
|             with pkgs; [ openblas ] | ||||
|         ); | ||||
|         pkgs = import nixpkgs { inherit system; }; | ||||
|         nativeBuildInputs = with pkgs; [ cmake pkgconfig ]; | ||||
|         nativeBuildInputs = with pkgs; [ cmake ninja pkgconfig ]; | ||||
|         llama-python = | ||||
|           pkgs.python3.withPackages (ps: with ps; [ numpy sentencepiece ]); | ||||
|         postPatch = '' | ||||
| @@ -44,35 +47,35 @@ | ||||
|           mv $out/bin/server $out/bin/llama-server | ||||
|         ''; | ||||
|         cmakeFlags = [ "-DLLAMA_BUILD_SERVER=ON" "-DLLAMA_MPI=ON" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; | ||||
|       in { | ||||
|       in | ||||
|       { | ||||
|         packages.default = pkgs.stdenv.mkDerivation { | ||||
|           name = "llama.cpp"; | ||||
|           src = ./.; | ||||
|           postPatch = postPatch; | ||||
|           nativeBuildInputs = nativeBuildInputs; | ||||
|           buildInputs = osSpecific; | ||||
|           inherit name src meta postPatch nativeBuildInputs buildInputs postInstall; | ||||
|           cmakeFlags = cmakeFlags | ||||
|             ++ (if isAarch64 && isDarwin then [ | ||||
|               "-DCMAKE_C_FLAGS=-D__ARM_FEATURE_DOTPROD=1" | ||||
|               "-DLLAMA_METAL=ON" | ||||
|             ] else [ | ||||
|               "-DLLAMA_BLAS=ON" | ||||
|               "-DLLAMA_BLAS_VENDOR=OpenBLAS" | ||||
|             "-DCMAKE_C_FLAGS=-D__ARM_FEATURE_DOTPROD=1" | ||||
|             "-DLLAMA_METAL=ON" | ||||
|           ] else [ | ||||
|             "-DLLAMA_BLAS=ON" | ||||
|             "-DLLAMA_BLAS_VENDOR=OpenBLAS" | ||||
|           ]); | ||||
|           postInstall = postInstall; | ||||
|           meta.mainProgram = "llama"; | ||||
|         }; | ||||
|         packages.opencl = pkgs.stdenv.mkDerivation { | ||||
|           name = "llama.cpp"; | ||||
|           src = ./.; | ||||
|           postPatch = postPatch; | ||||
|           nativeBuildInputs = nativeBuildInputs; | ||||
|           inherit name src meta postPatch nativeBuildInputs postInstall; | ||||
|           buildInputs = with pkgs; buildInputs ++ [ clblast ]; | ||||
|           cmakeFlags = cmakeFlags ++ [ | ||||
|             "-DLLAMA_CLBLAST=ON" | ||||
|           ]; | ||||
|           postInstall = postInstall; | ||||
|           meta.mainProgram = "llama"; | ||||
|         }; | ||||
|         packages.rocm = pkgs.stdenv.mkDerivation { | ||||
|           inherit name src meta postPatch nativeBuildInputs postInstall; | ||||
|           buildInputs = with pkgs; buildInputs ++ [ hip hipblas rocblas ]; | ||||
|           cmakeFlags = cmakeFlags ++ [ | ||||
|             "-DLLAMA_HIPBLAS=1" | ||||
|             "-DCMAKE_C_COMPILER=hipcc" | ||||
|             "-DCMAKE_CXX_COMPILER=hipcc" | ||||
|             "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" | ||||
|           ]; | ||||
|         }; | ||||
|         apps.llama-server = { | ||||
|           type = "app"; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tungsten842
					Tungsten842