()
| 154 | run_command([sys.executable, "-m", "pip", "install", "3rdparty/llama.cpp/gguf-py"], log_step="install_gguf") |
| 155 | |
| 156 | def gen_code(): |
| 157 | _, arch = system_info() |
| 158 | |
| 159 | llama3_f3_models = set([model['model_name'] for model in SUPPORTED_HF_MODELS.values() if model['model_name'].startswith("Falcon") or model['model_name'].startswith("Llama")]) |
| 160 | |
| 161 | if arch == "arm64": |
| 162 | if args.use_pretuned: |
| 163 | pretuned_kernels = os.path.join("preset_kernels", get_model_name()) |
| 164 | if not os.path.exists(pretuned_kernels): |
| 165 | logging.error(f"Pretuned kernels not found for model {args.hf_repo}") |
| 166 | sys.exit(1) |
| 167 | if args.quant_type == "tl1": |
| 168 | shutil.copyfile(os.path.join(pretuned_kernels, "bitnet-lut-kernels-tl1.h"), "include/bitnet-lut-kernels.h") |
| 169 | shutil.copyfile(os.path.join(pretuned_kernels, "kernel_config_tl1.ini"), "include/kernel_config.ini") |
| 170 | elif args.quant_type == "tl2": |
| 171 | shutil.copyfile(os.path.join(pretuned_kernels, "bitnet-lut-kernels-tl2.h"), "include/bitnet-lut-kernels.h") |
| 172 | shutil.copyfile(os.path.join(pretuned_kernels, "kernel_config_tl2.ini"), "include/kernel_config.ini") |
| 173 | if get_model_name() == "bitnet_b1_58-large": |
| 174 | run_command([sys.executable, "utils/codegen_tl1.py", "--model", "bitnet_b1_58-large", "--BM", "256,128,256", "--BK", "128,64,128", "--bm", "32,64,32"], log_step="codegen") |
| 175 | elif get_model_name() in llama3_f3_models: |
| 176 | run_command([sys.executable, "utils/codegen_tl1.py", "--model", "Llama3-8B-1.58-100B-tokens", "--BM", "256,128,256,128", "--BK", "128,64,128,64", "--bm", "32,64,32,64"], log_step="codegen") |
| 177 | elif get_model_name() == "bitnet_b1_58-3B": |
| 178 | run_command([sys.executable, "utils/codegen_tl1.py", "--model", "bitnet_b1_58-3B", "--BM", "160,320,320", "--BK", "64,128,64", "--bm", "32,64,32"], log_step="codegen") |
| 179 | elif get_model_name() == "BitNet-b1.58-2B-4T": |
| 180 | run_command([sys.executable, "utils/codegen_tl1.py", "--model", "bitnet_b1_58-3B", "--BM", "160,320,320", "--BK", "64,128,64", "--bm", "32,64,32"], log_step="codegen") |
| 181 | else: |
| 182 | raise NotImplementedError() |
| 183 | else: |
| 184 | if args.use_pretuned: |
| 185 | # cp preset_kernels/model_name/bitnet-lut-kernels_tl1.h to include/bitnet-lut-kernels.h |
| 186 | pretuned_kernels = os.path.join("preset_kernels", get_model_name()) |
| 187 | if not os.path.exists(pretuned_kernels): |
| 188 | logging.error(f"Pretuned kernels not found for model {args.hf_repo}") |
| 189 | sys.exit(1) |
| 190 | shutil.copyfile(os.path.join(pretuned_kernels, "bitnet-lut-kernels-tl2.h"), "include/bitnet-lut-kernels.h") |
| 191 | if get_model_name() == "bitnet_b1_58-large": |
| 192 | run_command([sys.executable, "utils/codegen_tl2.py", "--model", "bitnet_b1_58-large", "--BM", "256,128,256", "--BK", "96,192,96", "--bm", "32,32,32"], log_step="codegen") |
| 193 | elif get_model_name() in llama3_f3_models: |
| 194 | run_command([sys.executable, "utils/codegen_tl2.py", "--model", "Llama3-8B-1.58-100B-tokens", "--BM", "256,128,256,128", "--BK", "96,96,96,96", "--bm", "32,32,32,32"], log_step="codegen") |
| 195 | elif get_model_name() == "bitnet_b1_58-3B": |
| 196 | run_command([sys.executable, "utils/codegen_tl2.py", "--model", "bitnet_b1_58-3B", "--BM", "160,320,320", "--BK", "96,96,96", "--bm", "32,32,32"], log_step="codegen") |
| 197 | elif get_model_name() == "BitNet-b1.58-2B-4T": |
| 198 | run_command([sys.executable, "utils/codegen_tl2.py", "--model", "bitnet_b1_58-3B", "--BM", "160,320,320", "--BK", "96,96,96", "--bm", "32,32,32"], log_step="codegen") |
| 199 | else: |
| 200 | raise NotImplementedError() |
| 201 | |
| 202 | |
| 203 | def compile(): |
no test coverage detected