Привет всем! Я взялся за проект по созданию Proxmox сервера для машинного обучения и удаленной игры, но немного застрял с настройкой Nvidia драйверов в моей Ubuntu 22.04 VM. План такой: несколько VM, настроенных либо для машинного обучения, либо для игр, с использованием разных GPU. Я новичок как в этом форуме, так и в Linux, так что, пожалуйста, будьте снисходительны к моим ошибкам, и указывайте, если я что-то упускаю.
Пока я успешно подключил GTX 1060 к Windows VM, следуя гайду, но не могу заставить K80 работать как положено. VM настроена с обоими доступными GPU из K80, но я сталкивался с похожей ошибкой ранее с VM, где был только один GPU K80. Моя система имеет MSI Z590 MB, Intel 10850k, GTX 1060 и Tesla K80. В основном я использовал эту инструкцию в качестве ориентира: .
Пока что в VM я делал только установку Nvidia 470 драйвера через "Software & Updates". Основной симптом возникает при запуске команды `nvidia-smi`: Код: `No devices were found`. Хотя GPU отображаются при запуске команды `lspci -nnv`...
Спойлер: `lspci -nnv`
Код: `01:00.0 3D controller [0302]: NVIDIA Corporation GK210GL [Tesla K80] [10de:102d] (rev a1)
Subsystem: NVIDIA Corporation GK210GL [Tesla K80] [10de:106c]
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at c2000000 (32-bit, non-prefetchable) [size=16M]
Memory at 1000000000 (64-bit, prefetchable) [size=32M]
Capabilities: <access denied>
Kernel modules: nvidiafb, nouveau
02:00.0 3D controller [0302]: NVIDIA Corporation GK210GL [Tesla K80] [10de:102d] (rev a1)
Subsystem: NVIDIA Corporation GK210GL [Tesla K80] [10de:106c]
Physical Slot: 0-2
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at c1000000 (32-bit, non-prefetchable) [size=16M]
Memory at 1002000000 (64-bit, prefetchable) [size=32M]
Capabilities: <access denied>
Kernel modules: nvidiafb, nouveau`
Лучшая подсказка, которую я нашел, это часть из команды `dmesg -w`:
Код: `[ 4.749614] resource sanity check: requesting [mem 0xc2700000-0xc36fffff], which spans more than PCI Bus 0000:01 [mem 0xc2000000-0xc2ffffff]
[ 4.749619] caller os_map_kernel_space.part.0+0x97/0xa0 [nvidia] mapping multiple BARs
[ 4.763172] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0xffff:1211)
[ 4.763299] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0 (same error on the other GPU; PCI bus 0000:02)`
Спойлер: Полный лог *полный лог в .txt файле
Лучшие предложения, которые я мог найти в интернете, это включить "above 4G decoding" и отключить "CSM", что я и сделал в BIOS хоста. Буду признателен за любую помощь или подсказки, так как мне сложно найти информацию об этой проблеме.
Обновление: Я немного прошерстил форумы и нашел очень информативный пост Lefuneste: . Там полезно указали, что при запуске команды `cat /proc/iomem` в хосте, должна быть строка с "vfio-pci" под адресом PCIE GPU, которой у меня нет. Вместо этого я ничего не получаю под адресами моих GPU. И, на самом деле, при запуске команды `cat /proc/iomem | grep vfio`, я ничего не получаю. Это означает, что Nvidia драйверы успешно блокируют мои GPU, но vfio не получает их?
Пока я успешно подключил GTX 1060 к Windows VM, следуя гайду, но не могу заставить K80 работать как положено. VM настроена с обоими доступными GPU из K80, но я сталкивался с похожей ошибкой ранее с VM, где был только один GPU K80. Моя система имеет MSI Z590 MB, Intel 10850k, GTX 1060 и Tesla K80. В основном я использовал эту инструкцию в качестве ориентира: .
Пока что в VM я делал только установку Nvidia 470 драйвера через "Software & Updates". Основной симптом возникает при запуске команды `nvidia-smi`: Код: `No devices were found`. Хотя GPU отображаются при запуске команды `lspci -nnv`...
Спойлер: `lspci -nnv`
Код: `01:00.0 3D controller [0302]: NVIDIA Corporation GK210GL [Tesla K80] [10de:102d] (rev a1)
Subsystem: NVIDIA Corporation GK210GL [Tesla K80] [10de:106c]
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at c2000000 (32-bit, non-prefetchable) [size=16M]
Memory at 1000000000 (64-bit, prefetchable) [size=32M]
Capabilities: <access denied>
Kernel modules: nvidiafb, nouveau
02:00.0 3D controller [0302]: NVIDIA Corporation GK210GL [Tesla K80] [10de:102d] (rev a1)
Subsystem: NVIDIA Corporation GK210GL [Tesla K80] [10de:106c]
Physical Slot: 0-2
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at c1000000 (32-bit, non-prefetchable) [size=16M]
Memory at 1002000000 (64-bit, prefetchable) [size=32M]
Capabilities: <access denied>
Kernel modules: nvidiafb, nouveau`
Лучшая подсказка, которую я нашел, это часть из команды `dmesg -w`:
Код: `[ 4.749614] resource sanity check: requesting [mem 0xc2700000-0xc36fffff], which spans more than PCI Bus 0000:01 [mem 0xc2000000-0xc2ffffff]
[ 4.749619] caller os_map_kernel_space.part.0+0x97/0xa0 [nvidia] mapping multiple BARs
[ 4.763172] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0xffff:1211)
[ 4.763299] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0 (same error on the other GPU; PCI bus 0000:02)`
Спойлер: Полный лог *полный лог в .txt файле
Лучшие предложения, которые я мог найти в интернете, это включить "above 4G decoding" и отключить "CSM", что я и сделал в BIOS хоста. Буду признателен за любую помощь или подсказки, так как мне сложно найти информацию об этой проблеме.
Обновление: Я немного прошерстил форумы и нашел очень информативный пост Lefuneste: . Там полезно указали, что при запуске команды `cat /proc/iomem` в хосте, должна быть строка с "vfio-pci" под адресом PCIE GPU, которой у меня нет. Вместо этого я ничего не получаю под адресами моих GPU. И, на самом деле, при запуске команды `cat /proc/iomem | grep vfio`, я ничего не получаю. Это означает, что Nvidia драйверы успешно блокируют мои GPU, но vfio не получает их?
