Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Open-gpu-kernel-modules » : différence entre les versions

De Le Wiki de Lug
Ligne 36 : Ligne 36 :


Certaines cartes mères permettent de désactiver directement l’ACS sur les ports PCIe depuis le BIOS. Lorsqu’elle est disponible, cette méthode est à privilégier.
Certaines cartes mères permettent de désactiver directement l’ACS sur les ports PCIe depuis le BIOS. Lorsqu’elle est disponible, cette méthode est à privilégier.
==== Via le noyau Linux ====
Le noyau Linux permet de désactiver les fonctions de redirection ACS sur des ports PCIe précis avec l’option <code>pci=disable_acs_redir=</code>. Cette méthode est disponible avec le noyau Debian standard et ne nécessite pas de patch.
* On commence par identifier le ou les ports PCIe concernés :
# lspci -tv
Exemple de résultat :
<font color = grey>...</font>
-[<font color = blue>0000:00</font>]-+-00.0  Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
            +-<font color = blue>01.0</font>-[01]--+-00.0  NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate]
            |            \-00.1  NVIDIA Corporation GA106 High Definition Audio Controller
            +-<font color = blue>01.1</font>-[02]--+-00.0  NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate]
            |            \-00.1  NVIDIA Corporation GA106 High Definition Audio Controller
<font color = grey>...</font>
Les deux ports PCIe à modifier seront donc <code>0000:00:01.0</code> et <code>0000:00:01.1</code>.
* On édite GRUB :
# vi /etc/default/grub
On ajoute à la variable <code>GRUB_CMDLINE_LINUX_DEFAULT</code> l’option <code>pci=disable_acs_redir=</code> suivie de l’adresse des ports PCIe concernés :
<font color="grey">...
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt</font> pci=disable_acs_redir=0000:00:01.0;0000:00:01.1<font color="grey">"
...</font>
* On met à jour GRUB :
# update-grub
* On redémarre :
# reboot
* Après redémarrage, on vérifie que l’option a bien été appliquée :
# cat /proc/cmdline
* On vérifie ensuite l’état ACS des ports concernés :
# lspci -s 0000:00:01.0 -vv | grep -E 'ACSCap|ACSCtl'
# lspci -s 0000:00:01.1 -vv | grep -E 'ACSCap|ACSCtl'
Les indicateurs <code>ReqRedir</code> et <code>CmpltRedir</code> doivent apparaître désactivés (<code>-</code>).

Version du 7 août 2026 à 08:33

Source.

Prérequis

  • Un ou plusieurs GPU NVIDIA grand public dont la fonction P2P est désactivée par le pilote.
  • Recommandé : activer l’option Above 4G Decoding dans le BIOS de la carte mère, particulièrement avec plusieurs GPU. Activer également Resizable BAR si la plateforme le permet.
  • Recommandé : utiliser un démarrage en mode UEFI et désactiver le CSM. Cette configuration facilite la gestion de plusieurs GPU, l’allocation des ressources PCIe au-dessus de 4 Gio via Above 4G Decoding et l’utilisation éventuelle de Resizable BAR

Activer le mode de passthrough DMA pour l’IOMMU

  • On édite Grub :
# vi /etc/default/grub

On ajoute à la variable GRUB_CMDLINE_LINUX_DEFAULT les options suivantes :

  • Sur plateforme Intel : intel_iommu=on iommu=pt
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
...
  • Sur plateforme AMD : amd_iommu=on iommu=pt
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
...
  • On met à jour GRUB :
# update-grub
  • On redémarre :
# reboot
  • Après redémarrage, on vérifie que les paramètres sont bien appliqués :
# cat /proc/cmdline

Recommandé : désactiver ACS sur les ports PCIe concernés

Lorsque l’ACS est activé sur les ports racine, le trafic GPU à GPU peut être redirigé vers le complexe racine du processeur, ce qui réduit fortement la bande passante P2P.

Via le BIOS

Certaines cartes mères permettent de désactiver directement l’ACS sur les ports PCIe depuis le BIOS. Lorsqu’elle est disponible, cette méthode est à privilégier.

Via le noyau Linux

Le noyau Linux permet de désactiver les fonctions de redirection ACS sur des ports PCIe précis avec l’option pci=disable_acs_redir=. Cette méthode est disponible avec le noyau Debian standard et ne nécessite pas de patch.

  • On commence par identifier le ou les ports PCIe concernés :
# lspci -tv

Exemple de résultat :

...
-[0000:00]-+-00.0  Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
           +-01.0-[01]--+-00.0  NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate]
           |            \-00.1  NVIDIA Corporation GA106 High Definition Audio Controller
           +-01.1-[02]--+-00.0  NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate]
           |            \-00.1  NVIDIA Corporation GA106 High Definition Audio Controller
...

Les deux ports PCIe à modifier seront donc 0000:00:01.0 et 0000:00:01.1.

  • On édite GRUB :
# vi /etc/default/grub

On ajoute à la variable GRUB_CMDLINE_LINUX_DEFAULT l’option pci=disable_acs_redir= suivie de l’adresse des ports PCIe concernés :

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pci=disable_acs_redir=0000:00:01.0;0000:00:01.1"
...
  • On met à jour GRUB :
# update-grub
  • On redémarre :
# reboot
  • Après redémarrage, on vérifie que l’option a bien été appliquée :
# cat /proc/cmdline
  • On vérifie ensuite l’état ACS des ports concernés :
# lspci -s 0000:00:01.0 -vv | grep -E 'ACSCap|ACSCtl'
# lspci -s 0000:00:01.1 -vv | grep -E 'ACSCap|ACSCtl'

Les indicateurs ReqRedir et CmpltRedir doivent apparaître désactivés (-).