mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-06-26 06:10:19 +00:00
54 lines
1.3 KiB
Bash
Executable File
54 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 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
|