intel-analytics / ipex-llm

Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU such as Arc, Flex and Max); seamlessly integrate with llama.cpp, Ollama, HuggingFace, LangChain, LlamaIndex, vLLM, GraphRAG, DeepSpeed, Axolotl, etc
Apache License 2.0
6.72k stars 1.26k forks source link

Container cannot see Arc GPU #12372

Open robertvazan opened 1 week ago

robertvazan commented 1 week ago

I am following the IPEX Ollama docker guide. I am stuck on the sycl-ls step. The container cannot see Arc GPU even though the host can and the container has /dev/dri shared and it even runs --privileged.

Here's what I see in the container:

# ls /dev/dri
card1  card2  renderD128  renderD129
# whoami
root
# sycl-ls
[opencl:acc:0] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2  [2023.16.12.0.12_195853.xmain-hotfix]
[opencl:cpu:1] Intel(R) OpenCL, AMD Ryzen 5 5600G with Radeon Graphics          OpenCL 3.0 (Build 0) [2023.16.12.0.12_195853.xmain-hotfix]

Meantime, it seems to work on the host:

$ ls /dev/dri
by-path  card1  card2  renderD128  renderD129
$ whoami
rv
$ source /opt/intel/oneapi/setvars.sh
$ sycl-ls
[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Arc(TM) A380 Graphics 12.56.5 [1.3.30049.600000]
[opencl:cpu][opencl:0] Intel(R) OpenCL, AMD Ryzen 5 5600G with Radeon Graphics          OpenCL 3.0 (Build 0) [2024.18.10.0.08_160000]
[opencl:gpu][opencl:1] Intel(R) OpenCL Graphics, Intel(R) Arc(TM) A380 Graphics OpenCL 3.0 NEO  [24.26.30049.6]

This is how I start the container:

sudo podman run -it --rm \
    --privileged \
    --device=/dev/dri \
    -v ollama-ipex:/models \
    --name ollama-ipex \
    docker.io/intelanalytics/ipex-llm-inference-cpp-xpu:latest

The guide prescribes all sorts of additional parameters for the container, but adding them makes no difference.

Per info on Docker Hub page, this image is still updated daily, but I am starting to think there is something wrong with it. Library versions reported by sycl-ls in the container are from 2023.

pepijndevos commented 6 days ago

Same here, I just tried the guide and my Arc A770 is not visible.

Meanwhile, this image works fine for me: https://github.com/mattcurf/ollama-intel-gpu

liu-shaojun commented 5 days ago

Hi @robertvazan @pepijndevos Could you provide the kernel version and gpu driver version?

uname -r
dpkg -l | grep i915
modinfo i915
pepijndevos commented 5 days ago
[pepijn@pepijn-arch ~]$ uname -r
6.11.6-arch1-1
[pepijn@pepijn-arch ~]$ pacman -Qi mesa
Name            : mesa
Version         : 1:24.2.6-1
Description     : Open-source OpenGL drivers
Architecture    : x86_64
URL             : https://www.mesa3d.org/
Licenses        : MIT AND BSD-3-Clause AND SGI-B-2.0
Groups          : None
Provides        : mesa-libgl  opengl-driver
Depends On      : expat  gcc-libs  glibc  libdrm  libelf  libglvnd  libx11  libxcb  libxext  libxfixes  libxshmfence  libxxf86vm  llvm-libs
                  lm_sensors  wayland  zlib  zstd  libomxil-bellagio
Optional Deps   : opengl-man-pages: for the OpenGL API man pages
Required By     : cogl  gst-plugins-bad-libs  gst-plugins-base-libs  libglvnd  mutter  qemu-ui-opengl  qemu-vhost-user-gpu  qt5-base  qt6-base
                  qt6-webengine  signal-desktop  virglrenderer  webkit2gtk-4.1  webkitgtk-6.0  xf86-video-amdgpu  xorg-xwayland
Optional For    : None
Conflicts With  : mesa-libgl
Replaces        : mesa-libgl
Installed Size  : 111,50 MiB
Packager        : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Build Date      : wo 30 okt 2024 20:42:45 CET
Install Date    : do 07 nov 2024 10:56:44 CET
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

[pepijn@pepijn-arch ~]$ modinfo i915
filename:       /lib/modules/6.11.6-arch1-1/kernel/drivers/gpu/drm/i915/i915.ko.zst
import_ns:      PWM
import_ns:      PWM
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
import_ns:      DMA_BUF
firmware:       i915/mtl_gsc_1.bin
firmware:       i915/skl_huc_2.0.0.bin
firmware:       i915/bxt_huc_2.0.0.bin
firmware:       i915/kbl_huc_4.0.0.bin
firmware:       i915/glk_huc_4.0.0.bin
firmware:       i915/kbl_huc_4.0.0.bin
firmware:       i915/kbl_huc_4.0.0.bin
firmware:       i915/cml_huc_4.0.0.bin
firmware:       i915/icl_huc_9.0.0.bin
firmware:       i915/ehl_huc_9.0.0.bin
firmware:       i915/ehl_huc_9.0.0.bin
firmware:       i915/tgl_huc_7.9.3.bin
firmware:       i915/tgl_huc_7.9.3.bin
firmware:       i915/dg1_huc.bin
firmware:       i915/tgl_huc_7.9.3.bin
firmware:       i915/tgl_huc.bin
firmware:       i915/tgl_huc_7.9.3.bin
firmware:       i915/tgl_huc.bin
firmware:       i915/dg2_huc_gsc.bin
firmware:       i915/mtl_huc_gsc.bin
firmware:       i915/skl_guc_70.1.1.bin
firmware:       i915/bxt_guc_70.1.1.bin
firmware:       i915/kbl_guc_70.1.1.bin
firmware:       i915/glk_guc_70.1.1.bin
firmware:       i915/kbl_guc_70.1.1.bin
firmware:       i915/kbl_guc_70.1.1.bin
firmware:       i915/cml_guc_70.1.1.bin
firmware:       i915/icl_guc_70.1.1.bin
firmware:       i915/ehl_guc_70.1.1.bin
firmware:       i915/ehl_guc_70.1.1.bin
firmware:       i915/tgl_guc_70.1.1.bin
firmware:       i915/tgl_guc_70.1.1.bin
firmware:       i915/dg1_guc_70.bin
firmware:       i915/tgl_guc_69.0.3.bin
firmware:       i915/tgl_guc_70.1.1.bin
firmware:       i915/tgl_guc_70.bin
firmware:       i915/adlp_guc_69.0.3.bin
firmware:       i915/adlp_guc_70.1.1.bin
firmware:       i915/adlp_guc_70.bin
firmware:       i915/dg2_guc_70.bin
firmware:       i915/mtl_guc_70.bin
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
firmware:       i915/bxt_dmc_ver1_07.bin
firmware:       i915/skl_dmc_ver1_27.bin
firmware:       i915/kbl_dmc_ver1_04.bin
firmware:       i915/glk_dmc_ver1_04.bin
firmware:       i915/icl_dmc_ver1_09.bin
firmware:       i915/tgl_dmc_ver2_12.bin
firmware:       i915/rkl_dmc_ver2_03.bin
firmware:       i915/dg1_dmc_ver2_02.bin
firmware:       i915/adls_dmc_ver2_01.bin
firmware:       i915/adlp_dmc_ver2_16.bin
firmware:       i915/adlp_dmc.bin
firmware:       i915/dg2_dmc_ver2_08.bin
firmware:       i915/mtl_dmc.bin
firmware:       i915/bmg_dmc.bin
firmware:       i915/xe2lpd_dmc.bin
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
import_ns:      PWM
srcversion:     90C1C844ECB1295CC5A9C17
alias:          pci:v00008086d00007DD5sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D60sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D55sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D45sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D40sv*sd*bc03sc*i*
alias:          pci:v00008086d00007DD1sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D67sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D51sv*sd*bc03sc*i*
alias:          pci:v00008086d00007D41sv*sd*bc03sc*i*
alias:          pci:v00008086d000056C1sv*sd*bc03sc*i*
alias:          pci:v00008086d000056C2sv*sd*bc03sc*i*
alias:          pci:v00008086d000056C0sv*sd*bc03sc*i*
alias:          pci:v00008086d000056B3sv*sd*bc03sc*i*
alias:          pci:v00008086d000056B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A4sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A3sv*sd*bc03sc*i*
alias:          pci:v00008086d00005697sv*sd*bc03sc*i*
alias:          pci:v00008086d00005696sv*sd*bc03sc*i*
alias:          pci:v00008086d000056BDsv*sd*bc03sc*i*
alias:          pci:v00008086d000056BCsv*sd*bc03sc*i*
alias:          pci:v00008086d000056BBsv*sd*bc03sc*i*
alias:          pci:v00008086d000056BAsv*sd*bc03sc*i*
alias:          pci:v00008086d000056B1sv*sd*bc03sc*i*
alias:          pci:v00008086d000056B0sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A6sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A5sv*sd*bc03sc*i*
alias:          pci:v00008086d00005695sv*sd*bc03sc*i*
alias:          pci:v00008086d00005694sv*sd*bc03sc*i*
alias:          pci:v00008086d00005693sv*sd*bc03sc*i*
alias:          pci:v00008086d000056BFsv*sd*bc03sc*i*
alias:          pci:v00008086d000056BEsv*sd*bc03sc*i*
alias:          pci:v00008086d000056A2sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A1sv*sd*bc03sc*i*
alias:          pci:v00008086d000056A0sv*sd*bc03sc*i*
alias:          pci:v00008086d00005692sv*sd*bc03sc*i*
alias:          pci:v00008086d00005691sv*sd*bc03sc*i*
alias:          pci:v00008086d00005690sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7ABsv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7AAsv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7A8sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7A0sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A720sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7ADsv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7ACsv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7A9sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A7A1sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A721sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A78Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000A78Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000A789sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A788sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A783sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A782sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A781sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A780sv*sd*bc03sc*i*
alias:          pci:v00008086d00004909sv*sd*bc03sc*i*
alias:          pci:v00008086d00004908sv*sd*bc03sc*i*
alias:          pci:v00008086d00004907sv*sd*bc03sc*i*
alias:          pci:v00008086d00004906sv*sd*bc03sc*i*
alias:          pci:v00008086d00004905sv*sd*bc03sc*i*
alias:          pci:v00008086d000046D4sv*sd*bc03sc*i*
alias:          pci:v00008086d000046D3sv*sd*bc03sc*i*
alias:          pci:v00008086d000046D2sv*sd*bc03sc*i*
alias:          pci:v00008086d000046D1sv*sd*bc03sc*i*
alias:          pci:v00008086d000046D0sv*sd*bc03sc*i*
alias:          pci:v00008086d000046C3sv*sd*bc03sc*i*
alias:          pci:v00008086d000046C2sv*sd*bc03sc*i*
alias:          pci:v00008086d000046C1sv*sd*bc03sc*i*
alias:          pci:v00008086d000046C0sv*sd*bc03sc*i*
alias:          pci:v00008086d000046B3sv*sd*bc03sc*i*
alias:          pci:v00008086d000046B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000046B1sv*sd*bc03sc*i*
alias:          pci:v00008086d000046B0sv*sd*bc03sc*i*
alias:          pci:v00008086d00004628sv*sd*bc03sc*i*
alias:          pci:v00008086d00004626sv*sd*bc03sc*i*
alias:          pci:v00008086d0000462Asv*sd*bc03sc*i*
alias:          pci:v00008086d000046AAsv*sd*bc03sc*i*
alias:          pci:v00008086d000046A8sv*sd*bc03sc*i*
alias:          pci:v00008086d000046A6sv*sd*bc03sc*i*
alias:          pci:v00008086d000046A3sv*sd*bc03sc*i*
alias:          pci:v00008086d000046A2sv*sd*bc03sc*i*
alias:          pci:v00008086d000046A1sv*sd*bc03sc*i*
alias:          pci:v00008086d000046A0sv*sd*bc03sc*i*
alias:          pci:v00008086d00004693sv*sd*bc03sc*i*
alias:          pci:v00008086d00004692sv*sd*bc03sc*i*
alias:          pci:v00008086d00004690sv*sd*bc03sc*i*
alias:          pci:v00008086d0000468Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000468Asv*sd*bc03sc*i*
alias:          pci:v00008086d00004688sv*sd*bc03sc*i*
alias:          pci:v00008086d00004682sv*sd*bc03sc*i*
alias:          pci:v00008086d00004680sv*sd*bc03sc*i*
alias:          pci:v00008086d00004C9Asv*sd*bc03sc*i*
alias:          pci:v00008086d00004C90sv*sd*bc03sc*i*
alias:          pci:v00008086d00004C8Csv*sd*bc03sc*i*
alias:          pci:v00008086d00004C8Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00004C8Asv*sd*bc03sc*i*
alias:          pci:v00008086d00004C80sv*sd*bc03sc*i*
alias:          pci:v00008086d00009AF8sv*sd*bc03sc*i*
alias:          pci:v00008086d00009AD9sv*sd*bc03sc*i*
alias:          pci:v00008086d00009AC9sv*sd*bc03sc*i*
alias:          pci:v00008086d00009AC0sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A78sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A59sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A49sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A40sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A70sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A68sv*sd*bc03sc*i*
alias:          pci:v00008086d00009A60sv*sd*bc03sc*i*
alias:          pci:v00008086d00004E71sv*sd*bc03sc*i*
alias:          pci:v00008086d00004E61sv*sd*bc03sc*i*
alias:          pci:v00008086d00004E57sv*sd*bc03sc*i*
alias:          pci:v00008086d00004E55sv*sd*bc03sc*i*
alias:          pci:v00008086d00004E51sv*sd*bc03sc*i*
alias:          pci:v00008086d00004571sv*sd*bc03sc*i*
alias:          pci:v00008086d00004570sv*sd*bc03sc*i*
alias:          pci:v00008086d00004557sv*sd*bc03sc*i*
alias:          pci:v00008086d00004555sv*sd*bc03sc*i*
alias:          pci:v00008086d00004551sv*sd*bc03sc*i*
alias:          pci:v00008086d00004541sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A5Dsv*sd*bc03sc*i*
alias:          pci:v00008086d00008A51sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A71sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A70sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A5Csv*sd*bc03sc*i*
alias:          pci:v00008086d00008A5Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00008A5Asv*sd*bc03sc*i*
alias:          pci:v00008086d00008A59sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A58sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A57sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A56sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A54sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A53sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A52sv*sd*bc03sc*i*
alias:          pci:v00008086d00008A50sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BCCsv*sd*bc03sc*i*
alias:          pci:v00008086d00009BCAsv*sd*bc03sc*i*
alias:          pci:v00008086d00009B41sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BACsv*sd*bc03sc*i*
alias:          pci:v00008086d00009BAAsv*sd*bc03sc*i*
alias:          pci:v00008086d00009B21sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BF6sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BE6sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BC8sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BC6sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BC5sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BC4sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BC2sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BA8sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BA5sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BA4sv*sd*bc03sc*i*
alias:          pci:v00008086d00009BA2sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA2sv*sd*bc03sc*i*
alias:          pci:v00008086d000087CAsv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA3sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA0sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA4sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA1sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA8sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA7sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA6sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA5sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA9sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E9Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00003E94sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E9Csv*sd*bc03sc*i*
alias:          pci:v00008086d00003E9Asv*sd*bc03sc*i*
alias:          pci:v00008086d00003E98sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E96sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E92sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E91sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E99sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E93sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E90sv*sd*bc03sc*i*
alias:          pci:v00008086d000087C0sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Csv*sd*bc03sc*i*
alias:          pci:v00008086d0000593Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005927sv*sd*bc03sc*i*
alias:          pci:v00008086d00005923sv*sd*bc03sc*i*
alias:          pci:v00008086d00005926sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Asv*sd*bc03sc*i*
alias:          pci:v00008086d00005917sv*sd*bc03sc*i*
alias:          pci:v00008086d00005912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005921sv*sd*bc03sc*i*
alias:          pci:v00008086d00005916sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Asv*sd*bc03sc*i*
alias:          pci:v00008086d00005908sv*sd*bc03sc*i*
alias:          pci:v00008086d00005902sv*sd*bc03sc*i*
alias:          pci:v00008086d00005915sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005913sv*sd*bc03sc*i*
alias:          pci:v00008086d00005906sv*sd*bc03sc*i*
alias:          pci:v00008086d00003185sv*sd*bc03sc*i*
alias:          pci:v00008086d00003184sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A84sv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001932sv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001927sv*sd*bc03sc*i*
alias:          pci:v00008086d00001926sv*sd*bc03sc*i*
alias:          pci:v00008086d00001923sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001921sv*sd*bc03sc*i*
alias:          pci:v00008086d00001916sv*sd*bc03sc*i*
alias:          pci:v00008086d00001917sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001902sv*sd*bc03sc*i*
alias:          pci:v00008086d00001915sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001913sv*sd*bc03sc*i*
alias:          pci:v00008086d00001906sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B3sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B1sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B0sv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001632sv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001636sv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001622sv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001626sv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001612sv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001616sv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Asv*sd*bc03sc*i*
alias:          pci:v00008086d00001602sv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001606sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F33sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F32sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F31sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F30sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C22sv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000426sv*sd*bc03sc*i*
alias:          pci:v00008086d00000422sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C12sv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000416sv*sd*bc03sc*i*
alias:          pci:v00008086d00000412sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D02sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C02sv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000406sv*sd*bc03sc*i*
alias:          pci:v00008086d00000402sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A02sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000162sv*sd*bc03sc*i*
alias:          pci:v00008086d0000015Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000152sv*sd*bc03sc*i*
alias:          pci:v00008086d00000166sv*sd*bc03sc*i*
alias:          pci:v00008086d00000156sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv0000152Dsd00008990bc03sc*i*
alias:          pci:v00008086d00000126sv*sd*bc03sc*i*
alias:          pci:v00008086d00000116sv*sd*bc03sc*i*
alias:          pci:v00008086d00000106sv*sd*bc03sc*i*
alias:          pci:v00008086d00000122sv*sd*bc03sc*i*
alias:          pci:v00008086d00000112sv*sd*bc03sc*i*
alias:          pci:v00008086d0000010Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000102sv*sd*bc03sc*i*
alias:          pci:v00008086d00000046sv*sd*bc03sc*i*
alias:          pci:v00008086d00000042sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A011sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A001sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E92sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E32sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E22sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E02sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A02sv*sd*bc03sc*i*
alias:          pci:v00008086d000029D2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029C2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002992sv*sd*bc03sc*i*
alias:          pci:v00008086d00002982sv*sd*bc03sc*i*
alias:          pci:v00008086d00002972sv*sd*bc03sc*i*
alias:          pci:v00008086d000027AEsv*sd*bc03sc*i*
alias:          pci:v00008086d000027A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002772sv*sd*bc03sc*i*
alias:          pci:v00008086d00002592sv*sd*bc03sc*i*
alias:          pci:v00008086d0000258Asv*sd*bc03sc*i*
alias:          pci:v00008086d00002582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002572sv*sd*bc03sc*i*
alias:          pci:v00008086d0000358Esv*sd*bc03sc*i*
alias:          pci:v00008086d00003582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002562sv*sd*bc03sc*i*
alias:          pci:v00008086d00003577sv*sd*bc03sc*i*
depends:        drm_display_helper,video,ttm,cec,intel-gtt,drm_buddy,i2c-algo-bit
retpoline:      Y
intree:         Y
name:           i915
vermagic:       6.11.6-arch1-1 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        46:70:1E:12:ED:10:B2:FB:87:0D:F1:2A:A2:26:E4:DE:B9:A7:B2:57
sig_hashalgo:   sha512
signature:      30:65:02:30:7A:94:CA:5E:E4:19:B2:EF:DD:C6:F0:63:43:5D:95:7D:
        C6:D8:3B:FE:2B:38:F0:BB:05:9A:F5:93:BF:59:EE:66:AA:F9:BF:50:
        A6:F1:EE:06:3B:9A:2C:F9:21:93:5A:F1:02:31:00:ED:51:30:B2:48:
        06:64:1F:33:B5:38:32:49:AE:CF:E0:61:64:5C:D6:5F:9D:F3:C9:B6:
        84:14:C3:13:CD:57:A8:4C:2F:08:01:84:62:E2:7D:85:33:9D:99:DB:
        21:AD:81
parm:           dmc_firmware_path:DMC firmware path to use instead of the default one. Use /dev/null to disable DMC and runtime PM. (charp)
parm:           vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm:           panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)
parm:           enable_dpt:Enable display page table (DPT) (default: true) (bool)
parm:           enable_dsb:Enable display state buffer (DSB) (default: true) (bool)
parm:           enable_sagv:Enable system agent voltage/frequency scaling (SAGV) (default: true) (bool)
parm:           disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
parm:           enable_ips:Enable IPS (default: true) (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
parm:           enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enable, 2=force VESA interface, 3=force Intel interface) (int)
parm:           load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
parm:           force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
parm:           disable_display:Disable display (default: false) (bool)
parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
parm:           nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
parm:           enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm:           enable_psr:Enable PSR (0=disabled, 1=enable up to PSR1, 2=enable up to PSR2) Default: -1 (use per-chip default) (int)
parm:           psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in  VBT. (0=use VBT parameters, 1=use safest parameters)Default: 0 (bool)
parm:           enable_psr2_sel_fetch:Enable PSR2 and Panel Replay selective fetch (0=disabled, 1=enabled) Default: 1 (bool)
parm:           enable_dmc_wl:Enable DMC wakelock (0=disabled, 1=enabled) Default: 0 (bool)
parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
parm:           reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (uint)
parm:           error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
parm:           force_probe:Force probe options for specified supported devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp)
parm:           memtest:Perform a read/write test of all device memory on module load (default: off) (bool)
parm:           mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
parm:           enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)
parm:           guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
parm:           guc_firmware_path:GuC firmware path to use instead of the default one (charp)
parm:           huc_firmware_path:HuC firmware path to use instead of the default one (charp)
parm:           gsc_firmware_path:GSC firmware path to use instead of the default one (charp)
parm:           enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
parm:           request_timeout_ms:Default request/fence/batch buffer expiration timeout. (uint)
parm:           lmem_size:Set the lmem size(in MiB) for each region. (default: 0, all memory) (uint)
parm:           lmem_bar_size:Set the lmem bar size(in MiB). (uint)
parm:           mitigations:Selectively enable security mitigations for all Intel® GPUs in the system.

  auto -- enables all mitigations required for the platform [default]
  off  -- disables all mitigations

Individual mitigations can be enabled by passing a comma-separated string,
e.g. mitigations=residuals to enable only clearing residuals or
mitigations=auto,noresiduals to disable only the clear residual mitigation.
Either '!' or 'no' may be used to switch from enabling the mitigation to
disabling it.

Active mitigations for Ivybridge, Baytrail, Haswell:
  residuals -- clear all thread-local registers between contexts

[pepijn@pepijn-arch ~]$ sudo dmesg | grep i915
[    3.258361] i915 0000:03:00.0: [drm] Found DG2/G10 (device ID 56a0) display version 13.00
[    3.259821] i915 0000:03:00.0: [drm] VT-d active for gfx access
[    3.604359] i915 0000:03:00.0: vgaarb: deactivate vga console
[    3.619210] i915 0000:03:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    3.622474] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
[    3.649183] i915 0000:03:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.bin version 70.29.2
[    3.649186] i915 0000:03:00.0: [drm] GT0: HuC firmware i915/dg2_huc_gsc.bin version 7.10.16
[    3.657748] i915 0000:03:00.0: [drm] GT0: GUC: submission enabled
[    3.657749] i915 0000:03:00.0: [drm] GT0: GUC: SLPC enabled
[    3.657971] i915 0000:03:00.0: [drm] GT0: GUC: RC enabled
[    3.684158] [drm] Initialized i915 1.6.0 for 0000:03:00.0 on minor 1
[    3.756983] fbcon: i915drmfb (fb0) is primary device
[    3.756987] i915 0000:03:00.0: [drm] fb0: i915drmfb frame buffer device
[    5.822664] snd_hda_intel 0000:04:00.0: bound 0000:03:00.0 (ops i915_audio_component_bind_ops [i915])
[    6.314613] i915 0000:03:00.0: [drm] GT0: HuC: authenticated for all workloads
[    6.314616] mei_pxp i915.mei-gsc.768-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:03:00.0 (ops i915_pxp_tee_component_ops [i915])
liu-shaojun commented 5 days ago

Hi @pepijndevos

We recommend setting up your environment with Kernel 6.5, and installing the Intel-i915-dkms driver for optimal performance. We've tested Kernel 6.5 with the Intel-i915-dkms driver, and it successfully detects the GPU within the container. You can follow the steps below to install Kernel 6.5:

export VERSION="6.5.0-35"
sudo apt-get install -y linux-headers-$VERSION-generic
sudo apt-get install -y linux-image-$VERSION-generic
sudo apt-get install -y linux-modules-$VERSION-generic # may not be needed
sudo apt-get install -y linux-modules-extra-$VERSION-generic

After installing, you can configure GRUB to use the new kernel by running the following:

sudo sed -i "s/GRUB_DEFAULT=.*/GRUB_DEFAULT=\"1> $(echo $(($(awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg \
| grep -no $VERSION | sed 's/:/\n/g' | head -n 1)-2)))\"/" /etc/default/grub

Then, update GRUB and reboot your system:

sudo update-grub
sudo reboot

For detailed instructions on installing the driver, you can follow this link:
https://github.com/intel-analytics/ipex-llm/blob/main/docs/mddocs/Quickstart/install_linux_gpu.md#for-linux-kernel-65

Please feel free to reach out if you have any questions!

pepijndevos commented 5 days ago

I'm on Arch Linux so that doesn't help much. I'd also like to point out again that the third party docker image linked above does detect my GPU. Maybe that image has newer userspace drivers than yours? I'll just keep using that one for now.

robertvazan commented 5 days ago

@liu-shaojun I am on Fedora and kernel 6.11.6. The third-party image recommended by @pepijndevos works for me, likely thanks to newer versions of Intel libraries. Why wouldn't you upgrade your reference image? Would that break it on the oldest supported Ubuntu hosts?

While I am more than happy to give your software its favorite OS inside the container and to run sufficiently recent host kernel, limiting host kernel to a 2-3 specific versions is unreasonably restrictive for consumer hardware. It means worse support for your consumer GPUs than what AMD offers.

liu-shaojun commented 5 days ago

Hi @pepijndevos @robertvazan

Our Docker image is based on this base image: intel/oneapi-basekit:2024.1.1-devel-ubuntu22.04. We have observed that in certain scenarios with specific kernel versions, such as kernel 6.8 without out-of-tree driver installed, GPUs are not detected inside containers started with intel/oneapi-basekit:2024.1.1-devel-ubuntu22.04. We are currently working on resolving this issue.

liu-shaojun commented 2 days ago

Hi @pepijndevos @robertvazan

Could you please try using the intelanalytics/ipex-llm-inference-cpp-xpu:latest image? We've updated the compute runtime version in this image and tested it with kernel 6.8, where the GPU is detectable within the container.

robertvazan commented 2 days ago

@liu-shaojun The updated image works for me. Arc GPU is detected. No need for --privileged and other options mentioned in the quickstart guide. Are you going to update the guide too?

liu-shaojun commented 2 days ago

Sure, we will update the guide. Thanks for let us know!

pepijndevos commented 2 days ago

It sees my GPU!

pepijndevos commented 1 day ago

On the other hand it seems like the vllm image hasn't been update? Following this guide it again doesn't see my GPU. https://github.com/intel-analytics/ipex-llm/blob/main/docs/mddocs/DockerGuides/vllm_docker_quickstart.md