Felipe97/llama-cpp-compiled
01.1k
1#!/usr/bin/env bash2# MIT license3# Copyright (C) 2024 Intel Corporation4# SPDX-License-Identifier: MIT5 6print_usage() {7 echo "Usage: ./build.sh [fp32|fp16] [--help]"8 echo ""9 echo "Options:"10 echo " fp32 Build with FP32 precision (default)"11 echo " fp16 Build with FP16 precision (faster for long-prompt inference)"12 echo " --help Print this help message"13}14 15PRECISION=fp3216 17for arg in "$@"; do18 case "$arg" in19 --help)20 print_usage21 exit 022 ;;23 fp32|fp16)24 PRECISION="$arg"25 ;;26 *)27 echo "Error: unknown option '$arg'"28 print_usage29 exit 130 ;;31 esac32done33 34mkdir -p build35cd build36source /opt/intel/oneapi/setvars.sh37 38if [ "$PRECISION" = "fp16" ]; then39 #for FP1640 cmake .. -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON -DLLAMA_OPENSSL=OFF # faster for long-prompt inference41else42 #for FP3243 cmake .. -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DLLAMA_OPENSSL=OFF44fi45 46#build example/main47#cmake --build . --config Release --target main48 49#build example/llama-bench50#cmake --build . --config Release --target llama-bench51 52#build all binary53cmake --build . --config Release -j$((($(nproc)+1)/2)) -v54 