Spaces:
Running on Zero
Running on Zero
| # MIT license | |
| # Copyright (C) 2024 Intel Corporation | |
| # SPDX-License-Identifier: MIT | |
| print_usage() { | |
| echo "Usage: ./build.sh [fp32|fp16] [--help]" | |
| echo "" | |
| echo "Options:" | |
| echo " fp32 Build with FP32 precision (default)" | |
| echo " fp16 Build with FP16 precision (faster for long-prompt inference)" | |
| echo " --help Print this help message" | |
| } | |
| PRECISION=fp32 | |
| for arg in "$@"; do | |
| case "$arg" in | |
| --help) | |
| print_usage | |
| exit 0 | |
| ;; | |
| fp32|fp16) | |
| PRECISION="$arg" | |
| ;; | |
| *) | |
| echo "Error: unknown option '$arg'" | |
| print_usage | |
| exit 1 | |
| ;; | |
| esac | |
| done | |
| mkdir -p build | |
| cd build | |
| source /opt/intel/oneapi/setvars.sh | |
| if [ "$PRECISION" = "fp16" ]; then | |
| #for FP16 | |
| cmake .. -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON -DLLAMA_OPENSSL=OFF # faster for long-prompt inference | |
| else | |
| #for FP32 | |
| cmake .. -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DLLAMA_OPENSSL=OFF | |
| fi | |
| #build example/main | |
| #cmake --build . --config Release --target main | |
| #build example/llama-bench | |
| #cmake --build . --config Release --target llama-bench | |
| #build all binary | |
| cmake --build . --config Release -j$((($(nproc)+1)/2)) -v | |