Signed-off-by: jiang1.li <jiang1.li@intel.com> Signed-off-by: Li, Jiang <bigpyj64@gmail.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
66 lines
2.3 KiB
Bash
Executable File
66 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euox pipefail
|
|
|
|
export VLLM_CPU_KVCACHE_SPACE=1
|
|
export VLLM_CPU_CI_ENV=1
|
|
# Reduce sub-processes for acceleration
|
|
export TORCH_COMPILE_DISABLE=1
|
|
export VLLM_ENABLE_V1_MULTIPROCESSING=0
|
|
|
|
SDE_ARCHIVE="sde-external-10.7.0-2026-02-18-lin.tar.xz"
|
|
SDE_CHECKSUM="CA3D4086DE4ACB3FAEDF9F57B541C6936B7D5E19AE2BF763B6EA933573A0A217"
|
|
wget "https://downloadmirror.intel.com/913594/${SDE_ARCHIVE}"
|
|
echo "${SDE_CHECKSUM} ${SDE_ARCHIVE}" | sha256sum --check
|
|
mkdir -p sde
|
|
tar -xvf "./${SDE_ARCHIVE}" --strip-components=1 -C ./sde/
|
|
|
|
wait_for_pid_and_check_log() {
|
|
local pid="$1"
|
|
local log_file="$2"
|
|
local exit_status
|
|
|
|
if [ -z "$pid" ] || [ -z "$log_file" ]; then
|
|
echo "Usage: wait_for_pid_and_check_log <PID> <LOG_FILE>"
|
|
return 1
|
|
fi
|
|
|
|
echo "Waiting for process $pid to finish..."
|
|
|
|
# Use the 'wait' command to pause the script until the specific PID exits.
|
|
# The 'wait' command's own exit status will be that of the waited-for process.
|
|
if wait "$pid"; then
|
|
exit_status=$?
|
|
echo "Process $pid finished with exit status $exit_status (Success)."
|
|
else
|
|
exit_status=$?
|
|
echo "Process $pid finished with exit status $exit_status (Failure)."
|
|
fi
|
|
|
|
if [ "$exit_status" -ne 0 ]; then
|
|
echo "Process exited with a non-zero status."
|
|
echo "--- Last few lines of log file: $log_file ---"
|
|
tail -n 50 "$log_file"
|
|
echo "---------------------------------------------"
|
|
return 1 # Indicate failure based on exit status
|
|
fi
|
|
|
|
echo "No errors detected in log file and process exited successfully."
|
|
return 0
|
|
}
|
|
|
|
# Test Sky Lake (AVX512F)
|
|
./sde/sde64 -skl -- python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --dtype bfloat16 > test_0.log 2>&1 &
|
|
PID_TEST_0=$!
|
|
|
|
# Test Cascade Lake (AVX512F + VNNI)
|
|
./sde/sde64 -clx -- python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --dtype bfloat16 > test_1.log 2>&1 &
|
|
PID_TEST_1=$!
|
|
|
|
# Test Cooper Lake (AVX512F + VNNI + BF16)
|
|
./sde/sde64 -cpx -- python3 examples/basic/offline_inference/generate.py --model facebook/opt-125m --dtype bfloat16 > test_2.log 2>&1 &
|
|
PID_TEST_2=$!
|
|
|
|
wait_for_pid_and_check_log $PID_TEST_0 test_0.log
|
|
wait_for_pid_and_check_log $PID_TEST_1 test_1.log
|
|
wait_for_pid_and_check_log $PID_TEST_2 test_2.log
|