Lignes PCIe et topologie dans un serveur d'IA multi-GPU

Il existe un mythe tenace dans le domaine de l'IA grand public selon lequel « la différence entre PCIe x8 et x16 n'a pas d'importance pour l'inférence ». C'est globalement vrai, et ceux qui le répètent ignorent presque toujours pourquoi. Ils sont d'ailleurs souvent désemparés lorsqu'on leur demande pourquoi une carte mère de bureau ne peut pas gérer un quatrième GPU à pleine bande passante, ou pourquoi un serveur EPYC à 8 GPU ne se comporte pas comme deux ordinateurs de bureau à 4 GPU accolés.

Cet article est la version longue. Il explique ce que sont les lignes PCIe, comment elles sont allouées sur les processeurs utilisés par Kentino, le rôle des bifurcations et des commutateurs, l'utilité (et les limites) de NVLink, et l'importance de la topologie. Il se termine par des schémas concrets à 4 et 8 GPU pour les plateformes EPYC que nous livrons.

Qu'est-ce qu'une voie PCIe, en bref ?

Une voie PCIe est une paire de liaisons série différentielles (une dans chaque sens) entre un processeur (ou un commutateur en aval) et un périphérique. Plusieurs voies sont agrégées pour former une liaison plus large : x1, x4, x8, x16. La bande passante est proportionnelle au nombre de voies et double approximativement à chaque génération.

Génération Brut par voie x16 brut x16 utilisable (~)
Gen3 8 GT / s 16 GB / s ~ 15.75 Go/s
Gen4 16 GT / s 32 GB / s ~ 31.5 Go/s
Gen5 32 GT / s 64 GB / s ~ 63 Go/s
Gen6 64 GT / s 128 GB / s ~ 121 Go/s

Deux mises en garde. La bande passante est par direction. — Une liaison Gen5 x16 offre un débit de 64 Go/s dans chaque sens simultanément, ce qui explique pourquoi les supports marketing mentionnent soit « 64 Go/s », soit « 128 Go/s ». La 6e génération n'est intégrée à aucun GPU disponible à l'achat aujourd'hui. Les spécifications sont finalisées, mais les puces ne sont pas encore intégrées aux cartes graphiques pour stations de travail (en mai 2026) ; les premiers modèles Gen6 sont exclusivement destinés aux centres de données et Kentino ne les utilise pas. Pour notre gamme actuelle (RTX 5090, RTX 4090, RTX Pro 6000 Blackwell (dans ses deux versions), L40 et L4), la Gen5 x16 représente le maximum.

Budgets de voies par socket CPU

C’est ici que la frontière entre ordinateur de bureau, station de travail et serveur devient visible. Nombre de voies sur les processeurs des configurations Kentino actuelles, après soustraction de celles réservées au chipset/DMI :

Classe CPU Génération Nombre total de voies PCIe Utilisable pour les GPU / NIC / NVMe
Intel Core (LGA1700/1851) Mélange Gen5/4 20 ~20 (très serré)
Intel Xeon W7 / W9 (Sapphire R.) Gen5 112 ~ 112
AMD Ryzen 9000 (AM5) Gen5 28 ~ 24
AMD Threadripper 7000 Gen5 92 ~ 88
AMD Threadripper Pro 7000 WX Gen5 128 ~ 128
AMD EPYC Gênes (9004) Gen5 128 ~128 (prise simple)
AMD EPYC Turin (9005) Gen5 128 ~128 (prise simple)
AMD EPYC double socket Gen5 160 partagé via xGMI

Trois conséquences en découlent immédiatement.

Un processeur de bureau grand public ne peut pas gérer quatre GPU à pleine bande passante. Avec seulement 20 à 28 lignes PCIe au total, si vous allouez une ligne x16 au port principal et une ligne x4 au SSD NVMe, vous atteignez la limite. Les configurations « 4 GPU » qui divisent les lignes x16 en quatre lignes x4 conviennent à l'inférence, car la plupart des inférences ne saturent pas les lignes x4 Gen5 (environ 16 Go/s). Elles ne sont pas adaptées à l'entraînement sur plusieurs cartes en raison du trafic lié à la synchronisation des gradients.

Une station de travail Xeon W ou Threadripper Pro peut accueillir confortablement quatre GPU en x16 — 64 lignes pour les GPU, avec suffisamment de lignes restantes pour NVMe et une carte réseau 25/100 GbE.

Un processeur EPYC Genoa ou Turin mono-socket vous offre 128 lignes, ce qui est la seule façon raisonnable de construire un serveur à 8 GPU avec les huit cartes fonctionnant en x16. Un processeur EPYC bi-socket ajoute des lignes nominales, mais le gain est moindre qu'il n'y paraît, car le trafic inter-sockets transite par xGMI, qui est limité et partagé.

Bifurcation : découper un x16 en morceaux plus petits

Un emplacement PCIe est physiquement x16, mais l'hôte peut être configuré pour le présenter électriquement sous forme de connexions plus petites. Les connexions standard sont :

  • x16 → 2 × x8
  • x16 → 4 × x4
  • x8 → 2 × x4

La bifurcation est gérée par le processeur et accessible via le BIOS de la carte mère. Son utilisation dépend de trois conditions simultanées : le processeur doit la prendre en charge, le BIOS doit proposer l’option et la carte d’extension/fond de panier doit être correctement câblée pour répartir les lignes. Les deux premières conditions sont généralement remplies sur les cartes mères pour serveurs (Supermicro, ASRock Rack, Gigabyte). C’est la troisième qui pose problème : le câblage des lignes varie selon les fabricants.

La bifurcation est une technique permettant d'intégrer plus de GPU dans un châssis que le nombre de ports x16 disponibles sur le processeur. Un serveur EPYC à 8 GPU dispose rarement de 8 ports racine x16 natifs ; il s'agit généralement d'un mélange de ports natifs et bifurqués, reliés par des cartes d'extension, chaque GPU bénéficiant d'un port x16 ou x8 selon la configuration.

Ce que vous perdez : de la bande passante par carte. Une liaison bifurquée x8 Gen5 offre 32 Go/s, soit la moitié d’une liaison x16. Pour l’inférence, cette perte est imperceptible. En revanche, pour l’entraînement multi-GPU, elle se manifeste lors de la synchronisation des gradients et de la transmission des activations.

Commutateurs et temporisateurs PCIe

Si la bifurcation ne suffit pas (par exemple, si vous souhaitez utiliser huit GPU en x16), la solution consiste à utiliser un commutateur PCIe. La gamme Broadcom PEX en est l'exemple type. Un commutateur de type PEX 89000 utilise un port x16 en amont du processeur et le distribue à plusieurs ports x16 en aval. Ces ports aval peuvent surcharger la liaison amont ; si les huit GPU sollicitent fortement le processeur simultanément, ils se partagent le port x16 amont.

Il s'agit de l'architecture des cartes mères HGX de NVIDIA (et des systèmes SXM que Kentino ne fabrique pas). Son fonctionnement repose sur le fait que, dans les charges de travail multi-GPU bien conçues, la majeure partie du trafic s'effectue entre GPU (NVLink ou PCIe peer-to-peer), et non entre GPU et l'hôte. La liaison montante ne transporte des données qu'au chargement, lors de la création occasionnelle de points de contrôle et pour les E/S de stockage. L'inférence ne la sature pas ; l'entraînement non plus, généralement, si les calculs collectifs restent entre les GPU.

Les répéteurs de signal sont différents : ils permettent à une liaison Gen5 de fonctionner sur un câble plus long que ne le permettent les spécifications. Ils ne modifient pas la topologie, mais la rendent physiquement réalisable. Chaque boîtier EPYC 8 GPU livré par Kentino utilise des répéteurs de signal car la longueur du câble reliant la carte mère aux baies GPU dépasse la portée native de la Gen5.

NVLink — ce que c'est et ce que ce n'est pas

NVLink est une technologie d'interconnexion propriétaire de NVIDIA entre GPU, distincte de PCIe. Elle utilise un ensemble dédié de voies haut débit en périphérie du GPU (ou via un connecteur SXM ou un pont NVLink) pour permettre un accès direct à la mémoire entre les GPU avec une bande passante bien supérieure à celle de PCIe.

Interconnect Bande passante agrégée Cartes compatibles (en 2026)
PCIe Gen5x16 64 GB / s Toutes les cartes graphiques PCIe actuelles
Pont NVLink 4 600 GB / s Variantes PCIe A100 et H100 (pour la plupart retirées du marché)
NVLink 5 (SXM) 1800 GB / s H100 SXM, H200, GB200, B200 — tous uniquement compatibles SXM
NVLink (Pro 6000 SXM) N/D La RTX Pro 6000 Blackwell est PCIe, sans NVLink.

Le point essentiel pour toute construction de navires Kentino : Aucune de nos cartes n'est équipée de NVLink. La RTX 4090 a abandonné le connecteur présent sur la 3090. La 5090 n'en est pas équipée. La RTX Pro 6000 Blackwell (versions Workstation et Max-Q) est exclusivement compatible PCIe. Il en va de même pour les L40 et L4.

Il ne s'agit pas d'un oubli. NVIDIA réserve NVLink aux GPU SXM pour centres de données et aux rares cartes PCIe dotées d'un pont NVLink ; ces dernières sont progressivement abandonnées à mesure que le haut de gamme migre entièrement vers SXM. Si vous souhaitez NVLink, vous devez acheter une carte HGX avec des modules H100/H200/B200 à un prix dix fois supérieur, et Kentino ne propose pas cette configuration.

Sans NVLink, les opérations collectives GPU-à-GPU (réduction globale, regroupement global, réduction-dispersion) transitent par PCIe peer-to-peer. La bande passante effective entre deux cartes est limitée par la plus lente des deux liaisons PCIe et par le commutateur ou le port racine situé entre elles. Sur un système EPYC à 8 GPU, les communications P2P entre GPU connectés au même commutateur sont rapides ; les communications P2P entre complexes racines passent par le CPU et sont plus lentes.

Pour l'inférence, cela n'a quasiment jamais d'importance : l'inférence est limitée par la mémoire du GPU local, les activations par lots ne traversant les GPU que très rarement. Pour l'entraînement avec le parallélisme tensoriel, c'est la principale raison pour laquelle une configuration 8×5090 EPYC n'est pas équivalente à un nœud HGX 8×H100, même si les performances brutes en FLOPS semblent comparables.

Lorsque la bande passante PCIe est effectivement saturée

Charge de travail Sature PCIe ? Remarques
Inférence mono-GPU (LLM, lot 1) Non Le modèle réside dans la VRAM ; PCIe uniquement pour les jetons
Inférence mono-GPU (LLM, grand lot) Non Le débit augmente avec le traitement par lots ; PCIe toujours inactif
inférence visuelle mono-GPU Sometimes Si l'alimentation provient de la mémoire du processeur, x8 est perceptible.
Inférence multi-GPU (parallélisme tensoriel) Sometimes Les activations traversent les GPU à chaque couche
Inférence multi-GPU (parallélisme pipeline) Rarement Seules les activations aux limites de la scène
Chargement du modèle depuis NVMe / réseau Oui Un disque dur externe Llama-405B Q8 de 140 Go nécessite chaque Go/s disponible.
Entraînement, GPU unique Non Identique à l'inférence
Entraînement, multi-GPU, ZeRO-1/2 Oui Le gradient réduit tout martèle le lien
Entraînement, multi-GPU, ZeRO-3 / FSDP Oui, difficile Paramètre tout rassembler chaque étape en avant
Entraînement, multi-GPU, parallèle tensoriel Oui, difficile Sans NVLink, c'est le pire des cas.

Le schéma est constant : L'inférence ne sature pas PCIe ; l'entraînement, si. Si la configuration est principalement dédiée à l'inférence (ce qui est le cas pour la plupart des utilisateurs), une architecture x8 Gen5 par carte est suffisante, et vous pouvez intégrer davantage de GPU avec un budget topologique réduit. Pour l'entraînement de modèles, il est préférable d'utiliser une architecture x16 pour chaque carte et de regrouper les GPU afin d'éviter que les calculs collectifs n'empruntent le chemin le plus lent.

Topologie pour une configuration à 4 GPU (EPYC Genoa, socket unique)

Il s'agit de la configuration standard Kentino à 4 GPU sur AMD EPYC. Elle fonctionne également sur Threadripper Pro 7000 WX avec une répartition des lignes identique.

AMD EPYC Gênes / Turin — 128 lignes PCIe Gen5
GPU0
x16
GPU1
x16
GPU2
x16
GPU3
x16
Environ 32 voies restantes : NVMe x4, NIC x8, BMC, gestion

EPYC à 4 GPU : chaque GPU bénéficie d’une liaison x16 Gen5 dédiée directement au processeur. Aucun commutateur, aucune surcharge.

Chaque GPU bénéficie d'une liaison x16 Gen5 directe avec le processeur. Aucune bifurcation, aucun commutateur, aucun resynchroniseur pour les GPU eux-mêmes (les risers peuvent toutefois en comporter selon la configuration du châssis). La communication P2P entre deux GPU quelconques transite par l'architecture interne d'EPYC et est symétrique : les quatre cartes sont équidistantes dans la topologie.

Voici la configuration multi-GPU la plus épurée du marché. C'est celle que nous proposons pour les configurations 4 × RTX 5090, 4 × RTX 4090, 4 × RTX Pro 6000 Blackwell et 4 × L40.

Topologie pour une configuration à 8 GPU (EPYC Genoa / Turin, socket unique)

128 lignes ne suffisent pas pour doter huit GPU d'une connectivité x16 complète ; cela épuiserait tout le budget, sans rien laisser pour le NVMe ou le réseau. Les configurations standard sont :

Option A : Les 8 GPU en x16, avec une matrice de commutation

AMD EPYC Gênes / Turin — 128 voies Gen5
Commutateur PEX A (x16 en amont)
G0
x16
G1
x16
G2
x16
G3
x16
Commutateur PEX B (x16 en amont)
G4
x16
G5
x16
G6
x16
G7
x16
~96 lignes CPU restantes : baie NVMe, cartes réseau, BMC, gestion

Option A : deux commutateurs PCIe, chacun doté d’une interface x16 en amont vers le processeur et de quatre interfaces x16 en aval vers les GPU. Les communications P2P au sein d’un même commutateur sont rapides ; les communications P2P entre commutateurs transitent par le processeur.

Chaque commutateur en amont se connecte au processeur via une interface x16 Gen5 et distribue quatre ports x16 en aval. Les GPU 0 à 3 partagent une liaison montante de 64 Go/s vers le processeur ; les GPU 4 à 7 en partagent une autre. Les communications P2P entre les GPU 0 et 1 sont rapides (via le même commutateur) ; les communications P2P entre les GPU 0 et 4 transitent par le processeur et sont donc plus lentes. Les configurations 8 GPU de Kentino sur châssis Supermicro et Bone64c suivent ce modèle.

Option B : Les 8 GPU à x8, connectés directement au processeur

AMD EPYC Gênes / Turin — 128 voies Gen5, bifurquées
G0
x8
G1
x8
G2
x8
G3
x8
G4
x8
G5
x8
G6
x8
G7
x8
8 × 8 = 64 voies pour les GPU. Environ 64 voies libres pour les SSD NVMe, les cartes réseau et le BMC.

Option B : 8 GPU à x8 directement connectés au CPU via bifurcation. Pas de commutation, pas de sursouscription, 32 Go/s par carte. Configuration réservée à l’inférence.

Pas de commutation, pas de sursouscription, latence CPU-GPU réduite. Chaque carte bénéficie de 32 Go/s au lieu de 64. Pour l'inférence, cela est imperceptible. Pour l'entraînement avec des communications collectives importantes, c'est nettement moins performant que l'option A : la bande passante par carte est plus faible et il n'y a pas de communication P2P rapide entre les commutateurs.

La configuration par défaut de Kentino à 8 GPU est l'option A (structure commutée) pour les systèmes capables d'entraînement et l'option B (direct bifurqué) pour les configurations d'inférence uniquement où le budget de voies est mieux dépensé sur NVMe et deux cartes réseau 100 GbE.

Intégrité du signal à la génération 5

La 5e génération est suffisamment rapide pour que la couche physique prenne une importance nouvelle par rapport aux générations 3 et 4. Sur un circuit imprimé FR4 standard, une piste 5 mesure environ 7 cm avant que l'œil ne se ferme. Un câble 5 mesure environ 20 cm sans resynchroniseur. C'est suffisant pour un emplacement adjacent au processeur, mais insuffisant pour un câble riser dans un châssis 4U situé à 40 cm.

Ce que cela signifie:

  • Les rehausses sont importantes. Les colonnes montantes Gen4 ne sont pas compatibles avec les signaux Gen5. Il vous faut des colonnes montantes compatibles Gen5, généralement équipées d'un réamplificateur. La différence de prix est significative : de 80 à 150 € par colonne montante.
  • La longueur du câble est strictement limitée. Au-delà de 30 cm, un nouveau dispositif de resynchronisation est nécessaire ; au-delà de 70 cm, deux. C’est pourquoi les boîtiers GPU externes sont quasiment inexistants chez Gen5.
  • Une connexion instable sera silencieusement rétrogradée à la génération 4 ou 3. Le système démarre, le GPU apparaît. nvidia-smiLes calculs d'inférence sont en cours. La bande passante utilisée représente un quart de ce que vous avez payé. nvidia-smi --query-gpu=pcie.link.gen.current,pcie.link.width.current C'est la première chose à vérifier sur une nouvelle construction.
  • Le BIOS est important. Certaines cartes mères Supermicro et ASRock Rack sont configurées par défaut en mode automatique pour la vitesse de liaison et choisissent une valeur prudente. Forcez explicitement le Gen5 et vérifiez après le démarrage.

Nous avons constaté des configurations où l'un des huit GPU était entraîné à Gen3 x8 pendant des semaines, faute de surveillance. La tâche s'est exécutée, mais elle était quatre fois plus lente que prévu.

Quand la topologie est importante et quand elle ne l'est pas

Cela n'a généralement pas d'importance si : Vous exécutez une inférence mono-GPU quelle que soit la taille du modèle ; une inférence multi-GPU avec parallélisme de répliques (chaque GPU exécute sa propre copie) ; une inférence par lots dominée par la bande passante VRAM ; ou vous chargez les modèles une seule fois et les utilisez pendant des heures.

Cela compte beaucoup si : Vous effectuez un entraînement multi-GPU avec le modèle réparti sur plusieurs cartes (parallélisme tensoriel ou pipeline) ; vous utilisez FSDP ou ZeRO-3 où les paramètres sont fragmentés et regroupés à chaque étape ; vous exécutez RLHF ou d’autres charges de travail avec une synchronisation de gradient fréquente ; vous échangez à chaud les modèles pendant le fonctionnement ; ou vous alimentez les GPU à partir d’un niveau de stockage distant où PCIe sert d’entonnoir.

Pour la plupart des acheteurs (serveurs d'inférence pour l'analyse de modèles LLM/VLM, backends robotiques, hébergement de serveurs d'IA), la topologie est un problème de vérification des connexions, et non d'architecture. Pour les rares utilisateurs effectuant des entraînements multi-GPU complexes, la topologie (commutée ou bifurquée, NVLink ou non) constitue un choix architectural fondamental. C'est pourquoi une configuration avec 8 cartes EPYC 5090 est adaptée à certaines tâches d'entraînement et inadaptée à d'autres.

Que faire ensuite

Si vous envisagez de configurer un PC avec plusieurs GPU, voici les questions auxquelles il faut répondre avant de choisir un processeur :

  1. Combien de GPU, et avec quelle largeur de voie ? 4 × x16 tient sur un poste de travail ; 8 × x16 nécessite EPYC + commutateurs ; 8 × x8 nécessite EPYC + bifurcation.
  2. Inférence ou entraînement ? Inférence uniquement : 8 GPU suffisent, on économise le coût du commutateur. Entraînement avec Tensor Parallel : 16 GPU et un commutateur, point final.
  3. Quoi d'autre a besoin de voies de circulation ? Une carte réseau 100 GbE nécessite un cache x16. Quatre disques NVMe U.2 nécessitent également un cache x16. Réfléchissez bien avant de vous engager.
  4. Quelle est votre expérience avec les risers Gen5 ? Budget : 100 €/rehausse, vérifier la conformité Gen5 avec reprogrammateurs si nécessaire. Voir W03 pour le détail de la contremarche.
  5. Êtes-vous certain de ne pas avoir besoin de NVLink ? Si votre charge de travail d'entraînement est limitée par l'interconnexion, aucune topologie PCIe ne pourra vous sauver. C'est là qu'il faut envisager le matériel de classe HGX, que Kentino ne fabrique pas. Mieux vaut le savoir avant l'installation.

Une fois le système assemblé et testé une première fois, la topologie PCIe est un sujet que l'on oublie pendant trois ans. Il faut y prêter attention dès le premier jour (vérifier la vitesse de liaison de chaque GPU), après chaque mise à jour du BIOS (réinitialisation des paramètres d'entraînement des liaisons), après chaque réinstallation physique (les câbles bougent, les liaisons se dégradent), et avant tout entraînement payant.


Ceci fait partie du Kentino Wiki, une série de référence sur l'intelligence artificielle, la robotique et les systèmes qui les connectent. Commentaires et corrections bienvenus. info@kentino.com.