Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Affichage des résultats 1 à 13 sur 13
  1. #1
    Bonjour,

    Nous avons actuellement une machine constituée des éléments suivants qui nous sert à entrainer des réseaux de neurones:

    MB: ROG MAXIMUS APEX IX
    CPU : Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
    GPU : 2* 1080Ti MSI
    RAM : 2*16Go
    Alim : Corsair HX 1000i

    qui tourne sous Ubuntu 16.04 LTS

    Afin d'améliorer la puissance de calcul (et le nombre de personnes pouvant travailler dessus) , nous allons rajouter deux autres cartes graphiques (des 1080Ti, une est arrivée, c'est une ASUS, je ne sais pas pour l'autre).

    Voici donc ma question:

    Est-ce que la CM ainsi que le processeur ne poseront pas de problème pour un passage à 4 GPUs ? J'entends par là l'adressage mémoire disponible. Je ne suis pas trop sûr de moi mais en gros je voudrais savoir si passer à 4 cartes ne diminuerait pas la puissance de calcul de chacune.

    Autre point, l'alim me semble sous dimensionnée pour 4 GPUs, je pense qu'une alim de 1600W est nécessaire.

    Merci d'avance de m'apporter votre lumière !

  2. #2
    Salut, pour l'alim ça devrait passé, je pense (sinon tu le sauras assez vite). Elle sera presque à pleine charge (moins bon rendement et plus de chauffe...).

    Pour les GPU, il me semble, faut regarder en détail le manuel de ta carte mère, que c'est les lignes PCI-E qui peuvent-être impactées (passage de 16 X à 8 X voire moins selon câblage du fabricant).

    Pour le processeur, tout dépend de son utilité dans le truc. Je ne connais pas du tout ton domaine...

  3. #3
    Une GTX 180Ti ça consomme dans les 250w donc non 1000w ça ne suffira pas pour en nourrir 4 en même temps.
    La carte mère supporte bien 4 GPUs par contre le nombre de lignes PCI-E ne permettra pas le mode x16 sur tous les slots, au mieux tu auras du x8, x8, x4, x4. Sachant qu'appramment en mode tri GPU ça sera aussi du x8, x8, x4. Donc à priori pas de perte en passant de 3 à 4 cartes. Mais je n'ai aucune idée de l'importance de la bande passante PCI-E pour le deep learning.
    Dernière modification par Kimuji ; 23/04/2018 à 12h23.

  4. #4
    Citation Envoyé par Kimuji Voir le message
    Une GTX 180Ti ça consomme dans les 250w donc non 1000w ça ne suffira pour en nourrir 4 en même temps.
    La carte mère supporte bien 4 GPUs par contre le nombre de lignes PCI-E ne permettra pas le mode x16 sur tous les slots, au mieux tu auras du x8, x8, x4, x4. Mais je n'ai aucune idée de l'importance de la bande passante PCI-E pour le deep learning.
    Ça peut même monter dans les 300W si tu l'utilise en mode "Uber"(qui relève les limitations de consommations/température).

  5. #5
    Petite correction, la carte mère peut certes piloter 24 lignes PCI-E (en 8 8 4 4) mais pas le CPU... L'i7-7700K est limité à 16 lignes max dans les modes: 1x16, 2x8, 1x8+2x4. Par contre la carte mère peut gérer les 8 lignes restantes (via le PCH) par contre ça sera moins rapide, mais je pense que ça joue surtout pour le SLI (le jeu donc) et moins pour le compute en multi-GPU. Après difficile de dire quel sera l'impact mais si j'en crois les mineurs (certes c'est un poil différent) 4 GPUs sur une Z270 avec un i7-7700k ça fonctionne.

    Bref en théorie ça devrait marcher, pour du 4 Way-SLI non, mais pour du calcul multi-GPU oui.
    Dernière modification par Kimuji ; 23/04/2018 à 12h54.

  6. #6
    Oui effectivement, le GPU monte parfois à presque 300W (monitoring fait avec nvidia-smi). Cela reste ponctuel mais tout de même assez fréquent.

    @Kimuji, je pensais justement que c'était l'inverse, pas trop gênant pour le jeu mais plus pour le calcul. C'est aussi une histoire de version de PCI pour les débits.
    je vais essayer de creuser mes recherches sur la bande passante pour le deep learning.

  7. #7
    S'il te faut beaucoup de bande passante il faudra surement te tourner sur les plateformes Intel Skylake-X(24 par le chipset et 28 pour les 6/8 cœurs et 44 pour les >10 cœurs) ou AMD Threadripper(64 lignes dont 60 par le CPU et donc 4 pour le chipset).

    Par contre le budget sera assez salé.

  8. #8
    Citation Envoyé par revanwolf Voir le message
    Par contre le budget sera assez salé.
    Ce qui est inévitable quand on parle d'exploiter pleinement la bande passante sur 4 cartes en multi-GPU !

    Mais bon ça ne devrait théoriquement pas être un problème, ou alors il y a inadéquation entre les moyens financiers et la config recherchée.
    D'ailleurs il n'a pas été précisé par l'OP si c'est dans un cadre pro ou perso (ou alors, j'ai mal lu, et je m'en repends).

    Si on avait un peu plus d'infos sur les solutions de calcul utilisées on pourrait ptet aider à déterminer à quel point la bande passante PCI-E et/ou la puissance de calcul CPU auront un impact (l'air de rien, je m'y connais pas mal en usage intensif de GPU, y compris en usage pro).

  9. #9
    Oui effectivement c'est pro, donc le souci financier est différent.

    @taronyu26, pour te répondre précisément, c'est un peu compliqué, on est plusieurs à faire des choses différentes (un peu tout les types de données et domaines). Après nos bases de données ne sont pas comparable à celles des modèles Inception & co.
    il me semble que dans le cas du deep learning, c'est surtout le GPU qui est utilisé (convolutions et donc calculs matriciels), même si le CPU est aussi sollicité pour d'autres tâches à côté, l'impact est négligeable par rapport aux GPUs,
    Ce qui serait intéressant pour moi serait de savoir dans quels cas la limitation de bande passante se ferait ressentir et à quel point.

  10. #10
    A mon avis il sera difficile de déterminer à quel moment la bande passante sera le facteur limitant, autrement qu'en l'expérimentant justement.
    Mais bon, vous pouvez déjà faire des mesures avec votre plateforme actuelle. Vous avez mesuré votre consommation de bande passante vs l'utilisation GPU ?

  11. #11
    Oui effectivement ça me semble difficile aussi de le savoir sans tester, surtout que cela doit aussi dépendre de la structure du code.

    Non, nous n'avons pas fait de mesures, je ne sais pas quel outil utiliser d'ailleurs, c'est NVAPI d'après ce que je trouve sur internet...? Je vais regarder ça.

  12. #12
    L'utilisation GPU peut se faire avec nvidia-smi, ainsi que la quantité de VRAM utilisée, mais je ne sais plus s'il relève aussi l'utilisation de la bande passante.

    Il y a aussi les outils de profiling qui permettent d'analyser les performances de l'appli (sous Windows, il y a Nsight d'intégré à Visual Studio, mais y'a l'équivalent sous Linux aussi) et offrent beaucoup de données de mesure : temps de calcul des kernels, facteur limitant, etc et il y a des chances que tu y trouves des infos sur la bande passante. Je suis pas sûr à 100%, ma dernière utilisation date un peu.

  13. #13
    Oui, nvprof te donne le diagramme de Gantt avec les copies mémoires et les calculs, avec les recouvrements éventuels. Ça donne une bonne première idée de ce qu'on peut espérer gagner ou perdre en changeant la bande passante CPU-GPU.
    Même pas besoin de lancer le Visual Profiler ou Nsight : https://devblogs.nvidia.com/cuda-pro...-gpu-profiler/

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •