TLDR:
Est-ce que M.2 NVMe ou le graphique intégré ralentira les cartes graphiques discrètes
Dans ce cas précis probablement pas.
Deep Learning consiste à exécuter des algorithmes basés sur CUDA pendant plusieurs jours
le GPU, et la canalisation beaucoup de données entre GPU / CPU / SSD.
Les goulots d’étranglement s’ajouteront.
Je n'ai aucune expérience de CUDA, mais d'après ce que je me souviens d'avoir lu dans des articles, le principal problème des calculs sur GPU n'est généralement pas la vitesse de transfert brute. Au lieu de cela, c'est la latence.
Occupez-vous du «habituellement». Pour un programme spécifique, les choses pourraient être très différentes.
La latence dépend en partie de la vitesse PCI-e. Les connexions PCI-e v3 peuvent fonctionner à des débits plus élevés que les voies PCI-e v2 (8 GHz vs 5 GHz). Donc, vous voulez que vos cartes avec GPU sur les voies v3.
En regardant ark.intel.com, cela montre que le Core i7 7700 dispose de 16 voies PCI-e provenant directement de la CPU. (Plus peut provenir du chipset).
Les lignes PCI-e connectées directement à la CPU sont PCI-e v3 et peuvent être utilisées comme 1x16, 2x8, 1x8 + 2x4. Je suppose que pour faire CUDA avec deux cartes graphiques distinctes, vous voulez utiliser deux slots, chacun utilisant 8 voies.
Je suis donc préoccupé par les voies PCIe. Si je comprends bien, le processeur n'en a que 16.
Correct.
D'après ce que j'ai compris, 8 voies sont suffisantes pour le GPU mais 4 fois peuvent en voir
ralentissez.
En quelque sorte, oui. La plupart du temps, la vitesse du bus PCI0-e a dépassé les besoins des cartes graphiques. Cela change avec le temps. Les GPU deviennent plus rapides. Ceux haut de gamme commencent à pousser la bande passante maximale. Les versions PCI-e sont mises à niveau ...
Habituellement, une carte graphique haut de gamme en contient assez avec environ 8 voies. Le matériel de Toms a fait des tests à l’ère PCI-e v2 et je pense que ses résultats sont valables pour les configurations modernes dotées de cartes graphiques modernes sur PCI-e v3:
x16: vitesse maximale.
x8: quelques% de perte de vitesse (disons 2-5%)
x4: fonctionne toujours bien pour la plupart des choses. Il suffit de ne pas placer une carte GPU double haut de gamme dans un emplacement x4 et d’exécuter un affichage 4k avec tous les paramètres de jeu maximisés.
(Au début, je craignais que le SSD NVMe prenne des voies, mais il semble que le processeur dispose de 4 voies IO supplémentaires.)
Ça n'a pas. Les puces grand public actuelles d’Intel sont plutôt peu nombreuses. Pas plus que cela la plupart des besoins de leur public cible. C’est une décision économique saine.
Leur gamme Xeon comprend des unités centrales avec davantage de lignes PCI-e. Comme certaines des nouvelles puces AMD (64 lignes PCI-e sur le processeur ThreadRipper d'AMD. Deux fois plus que sur les produits de serveur)
Au lieu votre carte mère a la Chipset Z270 qui fournit des lignes PCI-e supplémentaires.
Le chipset supporte ces configurations x1, x2, x4.
Avec un maximum de x4, il semble que 2x8 du processeur reste le meilleur pari pour CUDA.
La carte mère utilise une grande partie des pistes restantes pour les connexions SATA, USB, réseau, etc. Quatre d'entre elles sont disponibles pour les utilisateurs finaux via 4 connecteurs d'extension PCIe 3.0 x1. Ne mettez pas les cartes graphiques dans ceux-ci!
En ce qui concerne NVME: les cartes disposent de deux emplacements PCIe Gen3 x4 Ultra M.2. Le http://asrock.nl/downloadsite/Manual/Z270%20Killer%20SLIac.pdf">manual de ce forum mentionne:
* If M2_1 is occupied by a SATA-type M.2 device, SATA_5 will be disabled.
* If M2_2 is occupied by a SATA-type M.2 device, SATA_0 will be disabled.
Je n'ai repéré aucun des problèmes habituels "Si M.2 est utilisé avec un périphérique NVME, alors ...", ce qui signifie qu'il dispose probablement de pistes dédiées à partir du chipset.
Est-ce que je laisse les 2 GPU pour le calcul, ou est-ce que le graphique intégré va créer
un goulot d'étranglement (force 8x 4x 4x, vs 8x 8x voies pour GPU) pour les GPU
(ce qui signifie peut-être que je devrais désactiver intégré et partager 1 GPU avec une interface utilisateur de bureau).
Je ne vois aucune raison pour laquelle les graphiques intégrés devraient vous gêner. Je ne soupçonne pas de problèmes si vous le désactivez. Avoir une machine en train de faire des calculs pourrait même être fait sans graphiques (SSH uniquement)
Avoir deux cartes graphiques dédiées aux calculs et les graphiques intégrés pour le reste (par exemple, un écran simplement termina) me semble le plus propre. Mais ce n'est pas tout ce que je peux quantifier.
Mon objectif est d’obtenir le maximum de performances des GPU. S'il y a des goulots d'étranglement,
Je veux savoir si cela peut causer plus de 5% de différence de performances,
soit 8h multiplié par semaine d'utilisation du processeur graphique
Le meilleur conseil à ce sujet est de mesurer ce que fait votre système. Si possible, passé une semaine avec en mode test. Exécutez-le avec les deux cartes en x8. Mesure. Utilisez un logiciel pour rétrograder les lignes PCI-e à x4. Vérifiez combien de performances sont perdues. Si la valeur est inférieure à 1%, essayez avec une carte à x16 et une carte dans un emplacement x1. Je devine que 2 * x8 sera beaucoup mieux, mais je peux me tromper.
Faites des choses similaires avec d'autres paramètres. Par exemple. essayez de courir sans hypertreading. (HT on est généralement plus rapide de 30%, mais parfois cela ralentit réellement les choses, alors testez.) Essayez de désactiver l'économiseur d'énergie. etc.
Après quelques jours de tests avec quelques tests différents, la production est exécutée.