2025-06-30 10:17:18 +02:00
|
|
|
#!/usr/bin/env bash
|
2024-01-28 21:26:23 +05:30
|
|
|
|
|
|
|
|
# MIT license
|
|
|
|
|
# Copyright (C) 2024 Intel Corporation
|
|
|
|
|
# SPDX-License-Identifier: MIT
|
2025-02-24 22:33:23 +08:00
|
|
|
export ONEAPI_DEVICE_SELECTOR="level_zero:0"
|
2024-01-28 21:26:23 +05:30
|
|
|
source /opt/intel/oneapi/setvars.sh
|
|
|
|
|
|
|
|
|
|
#export GGML_SYCL_DEBUG=1
|
2024-03-02 19:49:30 +08:00
|
|
|
|
|
|
|
|
#ZES_ENABLE_SYSMAN=1, Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory. Recommended to use when --split-mode = layer.
|
|
|
|
|
|
2024-09-12 17:44:17 +08:00
|
|
|
INPUT_PROMPT="Building a website can be done in 10 simple steps:\nStep 1:"
|
2024-09-18 08:30:31 +08:00
|
|
|
MODEL_FILE=models/llama-2-7b.Q4_0.gguf
|
2025-05-19 14:38:20 +01:00
|
|
|
NGL=99
|
|
|
|
|
CONTEXT=4096
|
2024-09-12 17:44:17 +08:00
|
|
|
|
2025-11-29 20:59:44 +08:00
|
|
|
#support malloc device memory more than 4GB.
|
|
|
|
|
export UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1
|
|
|
|
|
|
2024-09-12 17:44:17 +08:00
|
|
|
if [ $# -gt 0 ]; then
|
|
|
|
|
GGML_SYCL_DEVICE=$1
|
2024-03-15 18:53:53 +08:00
|
|
|
echo "use $GGML_SYCL_DEVICE as main GPU"
|
|
|
|
|
#use signle GPU only
|
2025-12-23 12:59:12 +08:00
|
|
|
ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} -mg $GGML_SYCL_DEVICE -sm none
|
2024-09-12 17:44:17 +08:00
|
|
|
|
2024-03-15 18:53:53 +08:00
|
|
|
else
|
|
|
|
|
#use multiple GPUs with same max compute units
|
2025-12-23 12:59:12 +08:00
|
|
|
ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT}
|
2024-03-15 18:53:53 +08:00
|
|
|
fi
|