mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	zig : update build.zig (#872)
* update * update readme * minimize the changes. --------- Co-authored-by: zjli2019 <zhengji.li@ingchips.com>
This commit is contained in:
		
							
								
								
									
										40
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								README.md
									
									
									
									
									
								
							| @@ -149,21 +149,43 @@ https://user-images.githubusercontent.com/1991296/224442907-7693d4be-acaa-4e01-8 | |||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| Here are the step for the LLaMA-7B model: | Here are the step for the LLaMA-7B model. | ||||||
|  |  | ||||||
|  | ### Get the Code | ||||||
|  |  | ||||||
| ```bash | ```bash | ||||||
| # build this repo |  | ||||||
| git clone https://github.com/ggerganov/llama.cpp | git clone https://github.com/ggerganov/llama.cpp | ||||||
| cd llama.cpp | cd llama.cpp | ||||||
| make | ``` | ||||||
|  |  | ||||||
| #For Windows and CMake, use the following command instead: | ### Build | ||||||
| cd <path_to_llama_folder> |  | ||||||
| mkdir build |  | ||||||
| cd build |  | ||||||
| cmake .. |  | ||||||
| cmake --build . --config Release |  | ||||||
|  |  | ||||||
|  | Note: For Windows, CMake or Zig can be used. | ||||||
|  |  | ||||||
|  | 1. Use `make` | ||||||
|  |  | ||||||
|  |     ```bash | ||||||
|  |     make | ||||||
|  |     ``` | ||||||
|  |  | ||||||
|  | 1. Use CMake | ||||||
|  |  | ||||||
|  |     ```bash | ||||||
|  |     mkdir build | ||||||
|  |     cd build | ||||||
|  |     cmake .. | ||||||
|  |     cmake --build . --config Release | ||||||
|  |     ``` | ||||||
|  |  | ||||||
|  | 1. Use Zig | ||||||
|  |  | ||||||
|  |     ```bash | ||||||
|  |     zig build -Drelease-fast | ||||||
|  |     ``` | ||||||
|  |  | ||||||
|  | ### Prepare Data & Run | ||||||
|  |  | ||||||
|  | ```bash | ||||||
| # obtain the original LLaMA model weights and place them in ./models | # obtain the original LLaMA model weights and place them in ./models | ||||||
| ls ./models | ls ./models | ||||||
| 65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model | 65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								build.zig
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								build.zig
									
									
									
									
									
								
							| @@ -1,16 +1,14 @@ | |||||||
| const std = @import("std"); | const std = @import("std"); | ||||||
|  |  | ||||||
| pub fn build(b: *std.Build) void { | pub fn build(b: *std.build.Builder) void { | ||||||
|     const target = b.standardTargetOptions(.{}); |     const target = b.standardTargetOptions(.{}); | ||||||
|     const optimize = b.standardOptimizeOption(.{}); |     const optimize = b.standardReleaseOptions(); | ||||||
|     const want_lto = b.option(bool, "lto", "Want -fLTO"); |     const want_lto = b.option(bool, "lto", "Want -fLTO"); | ||||||
|  |  | ||||||
|     const lib = b.addStaticLibrary(.{ |     const lib = b.addStaticLibrary("llama", null); | ||||||
|         .name = "llama", |  | ||||||
|         .target = target, |  | ||||||
|         .optimize = optimize, |  | ||||||
|     }); |  | ||||||
|     lib.want_lto = want_lto; |     lib.want_lto = want_lto; | ||||||
|  |     lib.setTarget(target); | ||||||
|  |     lib.setBuildMode(optimize); | ||||||
|     lib.linkLibCpp(); |     lib.linkLibCpp(); | ||||||
|     lib.addIncludePath("."); |     lib.addIncludePath("."); | ||||||
|     lib.addIncludePath("examples"); |     lib.addIncludePath("examples"); | ||||||
| @@ -44,16 +42,12 @@ pub fn build(b: *std.Build) void { | |||||||
| fn build_example(comptime name: []const u8, args: anytype) *std.build.LibExeObjStep { | fn build_example(comptime name: []const u8, args: anytype) *std.build.LibExeObjStep { | ||||||
|     const b = args.b; |     const b = args.b; | ||||||
|     const lib = args.lib; |     const lib = args.lib; | ||||||
|     const target = args.target; |  | ||||||
|     const optimize = args.optimize; |  | ||||||
|     const want_lto = args.want_lto; |     const want_lto = args.want_lto; | ||||||
|  |  | ||||||
|     const exe = b.addExecutable(.{ |     const exe = b.addExecutable(name, null); | ||||||
|         .name = name, |  | ||||||
|         .target = target, |  | ||||||
|         .optimize = optimize, |  | ||||||
|     }); |  | ||||||
|     exe.want_lto = want_lto; |     exe.want_lto = want_lto; | ||||||
|  |     lib.setTarget(args.target); | ||||||
|  |     lib.setBuildMode(args.optimize); | ||||||
|     exe.addIncludePath("."); |     exe.addIncludePath("."); | ||||||
|     exe.addIncludePath("examples"); |     exe.addIncludePath("examples"); | ||||||
|     exe.addCSourceFiles(&.{ |     exe.addCSourceFiles(&.{ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Judd
					Judd