@@ -419,211 +419,3 @@ curl -X POST http://${HOST_IP}:16010/v1/chatqna/prompt/reset -H "Content-Type: a
419419` ` ` bash
420420curl -X POST http://${HOST_IP} :16010/v1/chatqna/prompt-file -H " Content-Type: multipart/form-data" -F " file=@your_prompt_file.txt"
421421` ` `
422-
423- # # Performance BKC for Arc770 & BMG 24G(B60)
424-
425- # ## Performance BKC for BMG 24G(B60)
426-
427- Ubuntu: 22.04.1
428- Linux Kernel: 6.5.0-28-generic
429- Drivers: intel-i915 out-of-tree driver
430-
431- # ## Performance BKC for BMG 24G(B60)
432-
433- Ubuntu: 25.04
434- Linux Kernel: 6.14.0 in-box
435- Libraries & Drivers: please refer to below script:
436-
437- ` ` ` bash
438- #! /bin/bash
439- # Proxy settings
440- export https_proxy=http://child-prc.intel.com:913
441- export http_proxy=http://child-prc.intel.com:913
442- export no_proxy=127.0.0.1,* .intel.com
443-
444- WGET=" wget --no-check-certificate"
445- MULTI_ARC_SERVER=" https://multi-arc-serving.intel.com"
446-
447- if [ " $( id -u) " -ne 0 ]; then
448- echo " [ERROR] This script must be run as root. Exiting."
449- exit 1
450- fi
451-
452- # Enable strict mode
453- set -euo pipefail
454- trap ' echo "[ERROR] Script failed at line $LINENO."' ERR
455-
456- # Output both to terminal and log file
457- exec > >( tee -i /var/log/multi_arc_setup_env.log) 2>&1
458-
459- echo -e " \n[INFO] Starting environment setup..."
460- WORK_DIR=~ /multi-arc
461- mkdir -p " $WORK_DIR "
462- cd " $WORK_DIR "
463-
464- # Internet access check
465- echo " [INFO] Testing internet access..."
466- if ! curl -s --connect-timeout 10 https://www.google.com > /dev/null; then
467- echo " [WARNING] Internet access through proxy may be unavailable."
468- fi
469-
470- echo -e " \n[INFO] Adding Intel repository and graphics-testing PPA..."
471- if [ ! -f /usr/share/keyrings/oneapi-archive-keyring.gpg ]; then
472- wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
473- fi
474-
475- echo " deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list
476- add-apt-repository -y ppa:kobuk-team/intel-graphics
477-
478- echo -e " \n[INFO] Installing base libraries..."
479- apt update
480- apt install -y vim clinfo build-essential hwinfo net-tools openssh-server curl pkg-config flex bison libelf-dev libssl-dev libncurses-dev git libboost1.83-all-dev cmake libpng-dev docker.io docker-compose-v2
481-
482- echo -e " \n[INFO] Downloading and installing GPU firmware..."
483- FIRMWARE_DIR=$WORK_DIR /firmware
484- mkdir -p " $FIRMWARE_DIR "
485- cd " $FIRMWARE_DIR "
486- rm -rf ./*
487- wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/main/xe/bmg_guc_70.bin
488- wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/main/xe/bmg_huc.bin
489- zstd -1 bmg_guc_70.bin -o bmg_guc_70.bin.zst
490- zstd -1 bmg_huc.bin -o bmg_huc.bin.zst
491-
492- if [ -d /lib/firmware/xe ]; then
493- cp * .zst /lib/firmware/xe
494- else
495- echo " [ERROR] /lib/firmware/xe does not exist. Ensure your system supports Xe firmware."
496- exit 1
497- fi
498-
499- echo -e " \n[INFO] Installing GPU base libraries..."
500- apt install -y libigdgmm12=22.7.2-0ubuntu1~25.04~ppa1 libigc2=2.11.9-1144~25.04
501-
502- echo -e " \n[INFO] Installing Compute libraries..."
503- apt install -y libze1 libze-dev libze-intel-gpu1 intel-opencl-icd libze-intel-gpu-raytracing
504-
505- echo -e " \n[INFO] Installing Thread Building Blocks (TBB)..."
506- # apt install -y libtbb12=2022.0.0-2 libtbbmalloc2=2022.0.0-2
507- apt install -y libtbb12 libtbbmalloc2
508-
509- echo -e " \n[INFO] Installing Media SDK and related drivers..."
510- # apt install -y intel-media-va-driver-non-free=25.2.2-0ubuntu1~25.04~ppa1
511- apt install -y intel-media-va-driver-non-free
512- apt install -y vainfo=2.22.0+ds1-2
513- # apt install -y libvpl2=1:2.15.0-0ubuntu1~25.04~ppa2
514- apt install -y libvpl2
515- apt install -y libvpl-tools=1.4.0-0ubuntu1~25.04~ppa1
516- # apt install -y libmfx-gen1=25.2.2-0ubuntu1~25.04~ppa1
517- apt install -y libmfx-gen1
518- # apt install -y libmfx-gen-dev=25.2.2-0ubuntu1~25.04~ppa1
519- apt install -y libmfx-gen-dev
520- apt install -y va-driver-all=2.22.0-3ubuntu2
521-
522- echo -e " \n[INFO] Installing XPU manager libraries..."
523- apt install -y libmetee4=4.3.0-0ubuntu1~25.04~ppa1
524- apt install -y intel-gsc=0.9.5-0ubuntu1~25.04~ppa1
525- apt install -y intel-metrics-discovery=1.14.180-0ubuntu1~25.04~ppa1
526- apt install -y intel-metrics-library=1.0.196-0ubuntu1~25.04~ppa1
527-
528- echo -e " \n[INFO] Installing Mesa graphics libraries..."
529- apt install -y libegl-mesa0=25.0.3-1ubuntu2
530- apt install -y libegl1-mesa-dev=25.0.3-1ubuntu2
531- apt install -y libgl1-mesa-dri=25.0.3-1ubuntu2
532- apt install -y libgles2-mesa-dev=25.0.3-1ubuntu2
533- apt install -y libglx-mesa0=25.0.3-1ubuntu2
534- apt install -y libxatracker2=25.0.3-1ubuntu2
535- apt install -y mesa-va-drivers=25.0.3-1ubuntu2
536- apt install -y mesa-vdpau-drivers=25.0.3-1ubuntu2
537- apt install -y mesa-vulkan-drivers=25.0.3-1ubuntu2
538-
539- echo -e " \n[INFO] Installing Intel OneAPI base toolkit..."
540- apt install -y intel-oneapi-base-toolkit=2025.1.3-6
541- # only install the library required by sycl-ls and dpcpp to avoid big disk size required especially for native environment. For docker image, can still go with complete intel-oneapi-base-toolkit.
542- # apt install -y intel-oneapi-compiler-dpcpp-cpp-2025.1 intel-oneapi-compiler-dpcpp-cpp-common-2025.1 intel-oneapi-compiler-dpcpp-cpp-runtime-2025.1 intel-oneapi-compiler-shared-2025.1 intel-oneapi-dpcpp-cpp-2025.1
543-
544- echo -e " \n[INFO] Cloning and building level-zero-tests..."
545- cd $WORK_DIR
546- rm -rf level-zero-tests
547- git clone https://github.com/oneapi-src/level-zero-tests.git
548- cd level-zero-tests
549- git checkout 6f4258713c57ed1668671e5c016633624602184d
550- mkdir build && cd build
551- cmake ..
552- make -j$( nproc)
553-
554- echo -e " \n[INFO] Installing 1ccl benchmark tool..."
555- cd $WORK_DIR
556- if [ ! -d 1ccl ]; then
557- mkdir 1ccl
558- fi
559- cd 1ccl
560- rm -rf * .deb * .txt
561- ${WGET} ${MULTI_ARC_SERVER} /" tools/1ccl/oneccl_1.0.0_benchmark.deb"
562- ${WGET} ${MULTI_ARC_SERVER} /" tools/1ccl/benchmark_guide.txt"
563- dpkg -i oneccl_1.0.0_benchmark.deb
564-
565- echo -e " \n[INFO] Installing gemm benchmark tool..."
566- cd $WORK_DIR
567- if [ ! -d gemm ]; then
568- mkdir gemm
569- fi
570- cd gemm
571- rm -rf * .deb * .md
572- ${WGET} ${MULTI_ARC_SERVER} /" tools/gemm/gemmstresstool_1.0_amd64.deb"
573- ${WGET} ${MULTI_ARC_SERVER} /" tools/gemm/gemm_stress_tool.md"
574- dpkg -i gemmstresstool_1.0_amd64.deb
575-
576- echo -e " \n[INFO] Installing xpu-smi tool..."
577- cd $WORK_DIR
578- if [ ! -d xpu-smi ]; then
579- mkdir xpu-smi
580- fi
581- cd xpu-smi
582- rm -rf * .deb * .txt
583- ${WGET} ${MULTI_ARC_SERVER} /" tools/xpu-smi/xpu-smi_3.0.58_20250612.160829.5228c41d_u24.04_amd64.deb"
584- ${WGET} ${MULTI_ARC_SERVER} /" tools/xpu-smi/xpu-smi%20guide.txt"
585- dpkg -i xpu-smi_3.0.58_20250612.160829.5228c41d_u24.04_amd64.deb
586-
587- echo -e " \n[INFO] Creating setup_perf.sh..."
588- cd $WORK_DIR
589- cat << 'EOF ' > setup_perf.sh
590- #!/bin/bash
591- gpu_num=$(sudo xpu-smi discovery | grep card | wc -l)
592- for((i=0; i<$gpu_num; i++)); do
593- echo "Set GPU $i freq to 2400Mhz"
594- sudo xpu-smi config -d $i -t 0 --frequencyrange 2400,2400
595- done
596-
597- echo "Set CPU to performance mode"
598- echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
599- echo 0 | sudo tee /sys/devices/system/cpu/cpu*/power/energy_perf_bias
600- EOF
601-
602- chmod +x setup_perf.sh
603-
604- echo -e " \n[INFO] Configuring user groups and Wayland settings..."
605- gpasswd -a ${USER} render || true
606- if [ -f /etc/gdm3/custom.conf ]; then
607- sed -i " s/^#*WaylandEnable=.*/WaylandEnable=true/" /etc/gdm3/custom.conf
608- fi
609- update-initramfs -u
610-
611- echo -e " \n[INFO] Disabling intel_iommu..."
612- GRUB_FILE=" /etc/default/grub"
613- if [ -f " $GRUB_FILE " ]; then
614- cp " $GRUB_FILE " " ${GRUB_FILE} .bak"
615- sed -i ' s/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=off"/' " $GRUB_FILE "
616- update-grub
617- else
618- echo " [ERROR] Could not find $GRUB_FILE "
619- exit 1
620- fi
621- echo -e " \n Tools and scripts are located at /root/multi-arc."
622- echo -e " \n✅ [DONE] Environment setup complete. Please reboot your system to apply changes."
623- ` ` `
624-
625- # # Validated Configurations
626-
627- | ** Deploy Method** | ** LLM Engine** | ** LLM Model** | ** Hardware** |
628- | ----------------- | -------------- | -------------------- | ------------ |
629- | Docker Compose | vLLM | Qwen2-7B-instruction | Intel Arc |
0 commit comments