« Open-gpu-kernel-modules » : différence entre les versions
Autres actions
| 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
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 Decodingdans le BIOS de la carte mère, particulièrement avec plusieurs GPU. Activer égalementResizable BARsi la plateforme le permet. - Recommandé : utiliser un démarrage en mode
UEFIet désactiver leCSM. Cette configuration facilite la gestion de plusieurs GPU, l’allocation des ressources PCIe au-dessus de 4 Gio viaAbove 4G Decodinget l’utilisation éventuelle deResizable 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 (-).