diff options
author | Judd <foldl@users.noreply.github.com> | 2023-04-13 21:43:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-13 16:43:22 +0300 |
commit | 4579af95e8e16910f6dbab0994917a5b3901f0cf (patch) | |
tree | 030064ef6454a9a7f76591cea5e2d71c26d218c2 | |
parent | 8c3ffc2f048a372639906fb30ec3c2070288d3be (diff) |
zig : update build.zig (#872)
* update
* update readme
* minimize the changes.
---------
Co-authored-by: zjli2019 <zhengji.li@ingchips.com>
-rw-r--r-- | README.md | 40 | ||||
-rw-r--r-- | build.zig | 22 |
2 files changed, 39 insertions, 23 deletions
@@ -149,21 +149,43 @@ https://user-images.githubusercontent.com/1991296/224442907-7693d4be-acaa-4e01-8 ## Usage -Here are the step for the LLaMA-7B model: +Here are the step for the LLaMA-7B model. + +### Get the Code ```bash -# build this repo git clone https://github.com/ggerganov/llama.cpp cd llama.cpp -make +``` + +### Build + +Note: For Windows, CMake or Zig can be used. + +1. Use `make` + + ```bash + make + ``` -#For Windows and CMake, use the following command instead: -cd <path_to_llama_folder> -mkdir build -cd build -cmake .. -cmake --build . --config Release +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 ls ./models 65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model @@ -1,16 +1,14 @@ const std = @import("std"); -pub fn build(b: *std.Build) void { +pub fn build(b: *std.build.Builder) void { const target = b.standardTargetOptions(.{}); - const optimize = b.standardOptimizeOption(.{}); + const optimize = b.standardReleaseOptions(); const want_lto = b.option(bool, "lto", "Want -fLTO"); - const lib = b.addStaticLibrary(.{ - .name = "llama", - .target = target, - .optimize = optimize, - }); + const lib = b.addStaticLibrary("llama", null); lib.want_lto = want_lto; + lib.setTarget(target); + lib.setBuildMode(optimize); lib.linkLibCpp(); lib.addIncludePath("."); 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 { const b = args.b; const lib = args.lib; - const target = args.target; - const optimize = args.optimize; const want_lto = args.want_lto; - const exe = b.addExecutable(.{ - .name = name, - .target = target, - .optimize = optimize, - }); + const exe = b.addExecutable(name, null); exe.want_lto = want_lto; + lib.setTarget(args.target); + lib.setBuildMode(args.optimize); exe.addIncludePath("."); exe.addIncludePath("examples"); exe.addCSourceFiles(&.{ |