Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Les processeurs graphiques sont-ils voués à disparaître ?
    Les processeurs graphiques sont-ils voués à disparaître ?

    Selon Tim Sweeny, CEO fondateur de Epics Game (moteurs Unreal Tournament), le processeur graphique serait à inscrire sur la liste des espèces menacées.

    La technologie OpenCL (Open Computing Language) est le résultat du mariage entre une API et un langage de programmation dérivé du C. Elle a été crée pour faciliter la programmation de l'intersection entre les CPU (de plus en plus parallèles) et les GPU (de plus en plus programmables).

    Mais alors que la technologie Grand Central (qui simplifie le développement multithread) semble être bien absorbée, la technologie OpenCL pose, elle, de très gros problèmes de par l'éloignement géographique entre le processeur graphique (relégué à la terminaison d'un port PCI Express) et la mémoire centrale. Dans ce cas, le transfert mémoire des données nécessaire au calcul coûte énormément de temps et d'argent, et il faudra alors évaluer si le processeur est plus interessant en termes financiers par rapport à la parallélisation des calculs.

    En effet, bien qu'il soit extrêmement puissant pour les calculs parallèles, le processeur graphique est en général assez mauvais pour les tests. Comment vaincre ce problème, d'autant plus lorsque l'on ne connaît pas la complexité des calculs qui seront à effectuer (ce qui est fréquent pour les projets de haute performance) ?

    Si l'on se penche pour prendre le pouls de ce marché, on s'aperçoit que NVIDIA y est leader, talonné à distance respectueuse par Intel (dont la puissance des processeurs graphiques ne rivalise pas encore avec ceux du "maître" mais des innovations sont en route - implémentation de traitements graphiques et d'architectures superscalaires).

    NVIDIA serait donc logiquement le premier à pâtir de cette situation qui pourrait malmener ce marché dans sa globalité.

    Source : L'étude de Tim Sweeny

    NVIDIA réussira-t-il à se sortir de cette mauvaise passe simplement en incorporant des processeurs graphiques dans des ARM ?

    ATI se plaçant juste après NVIDIA en terme de performances, et appartenement à AMD qui serait en mesure d'instaurer un traitement graphique dans ses processeurs, pourrait-il doubler NVIDIA et lui prendre sa place de leader ?

  2. #2
    Expert éminent
    Bonjour,
    Tiens c'est drôle, j'avais justement eu cette même discussion avec un ami, où je prévoyais la même chose justement (Je devrais vraiment me mettre au VC on dirait )

    Perso, je crois que oui. Pas taper car j'ai plus touché à la programamtion graphique (3D) depuis des années, mais j'avais quand même suivi le passage de l'architecture fixed stage pour le pipeline du rendering à une architecture plus ouverte, où plusieurs unités de calcul opèrent indifféramment sur les transformations, texturing, lighting et autres effets.

    Donc, si les processurs centraux arrivent à avoir assez de puissance et à supporter les calculs vectoriels, je ne verrais plus de raisons d'être pour les processurs graphiques.

  3. #3
    Expert éminent
    Il n'y aurai pas des problèmes d'alimentation/refroidissement si absolument tous les calculs d'un pc (de gamer ou d'un graphiste ?), que ce soit graphiques ou non, étaient rassemblés sur une puce de 5 x 5 ?

  4. #4
    Inactif  
    Mouais, vu la tendance actuelle chez NVidia (de plus en plus puissants et polyvalents), et le design des futurs processeurs Intel (certes amenés à être rendre inutiles des puces bas de gammes, mais en AUCUN CAS des puces haut de gamme), je parie sur un avenir plus que radieux pour les cartes graphiques.
    La démocratisation de la stéréo-vision et des technos genre CUDA me confortant dans mon impression

    D'ailleurs, on parle facilement de l'évolution des CPU, et de la possibilité de les voir remplir les tâches des (petits) GPU, mais pourquoi ne parle t-on pas de l'inverse ? Eux aussi évoluent. Nous ne sommes qu'au début de l'ère des GPU :p

    Oui à une fusion CPU-GPU pour la bureautique, mais nous somme encore loin des résultats attendus pour tout ce qui touche à la 3D.
    *graou* et même *graou*, ou encore *graou*

  5. #5
    Expert éminent
    Citation Envoyé par entreprise38 Voir le message

    D'ailleurs, on parle facilement de l'évolution des CPU, et de la possibilité de les voir remplir les tâches des (petits) GPU, mais pourquoi ne parle t-on pas de l'inverse ? Eux aussi évoluent.
    Justement, les GPUs évoluent dans le sens où ils s'approchent de plus en plus des CPUs : des jeux d'instructions de plus en plus étendues et génériques (excepté le support natif des vecteurs et matrices). Même qu'on programme avec du C-like pour les GPUs

    Mais effectivement, encore faut il que les CPUs puissent assurer la montée en charge, quoi qu'avec les multi-core ça devrait être jouable (théoriquement, je ne suis pas spécialiste dans le domaine).

  6. #6
    Membre actif
    On a besoin du GPU n' ont pas que pour les jeux, mais pour tous se qui touche la 3D, par exemple: l' animation etc..

    Comme le dit smyley, rassembler tous les calculs sur une seule puce, pose des problèmes de refroidissement, qui je crois ne doit pas dépasser les 80° C

  7. #7
    Membre régulier
    Salut

    Pourquoi ne pas changer totalement l'architecture materiel. Faire un truc plus simple, une carte mere, avec un slot processeur, un slot pour un processeur graphique ( adieux les cartes graphique mais la encore probleme car chaque marque aura sa norme de slot ), le chipset nord et sud en un seul et le reste.

    Je ne connais absolument pas l'architecture des GPU.
    Mais pourquoi ne pas séparer les fonctions, par exemple faire plusieurs coeurs:
    Un maitre, un qui calculerait la physique, un qui calculerait le lumiere...

    Enfin cela m'ennuirais de chager tout mon materiel juste pour faire passer le dernier FPS. Déjà que lorsque l'on change de processeur faut, dans certain cas, changer la carte mére.

  8. #8
    Membre régulier
    Citation Envoyé par rem02 Voir le message
    Salut

    Pourquoi ne pas changer totalement l'architecture materiel. Faire un truc plus simple, une carte mere, avec un slot processeur, un slot pour un processeur graphique ( adieux les cartes graphique mais la encore probleme car chaque marque aura sa norme de slot ), le chipset nord et sud en un seul et le reste.

    Je ne connais absolument pas l'architecture des GPU.
    Mais pourquoi ne pas séparer les fonctions, par exemple faire plusieurs coeurs:
    Un maitre, un qui calculerait la physique, un qui calculerait le lumiere...

    Enfin cela m'ennuirais de chager tout mon materiel juste pour faire passer le dernier FPS. Déjà que lorsque l'on change de processeur faut, dans certain cas, changer la carte mére.
    Vu la taillle des cartes graphiques actuelles, je vois mal comment tu les mettrais sur un socket à la manière d'un processeur.
    Et pour les coeurs sur un GPU, ça sert à rien de les spécialiser cas c'est souvent les mêmes opérations qui reviennent (multiplication de matrices essentiellement).

    Mon opinion: depuis quelques années, la puissance des GPU augmente bien plus vite que celle des CPU. Et avec la généralisation de la HD, des effets graphiques, et du GPGPU, je pense le GPU prend un peu l'ascendant sur le CPU (en tout cas c'est le cas pour les joueurs et de plus en plus le cas pour les autres utilisateurs).

  9. #9
    Membre actif
    Dans le cas des jeux, le GPU peut servir pour tous les calculs d' affichage.
    Tandis que le CPU se chargerait de faire les calculs de collision et de
    gravité (plus ceux du jeux pour le score etc...).
    Comme le dit Isukthar , la puissance des GPU croît plus que celle des CPU.

  10. #10
    Membre expérimenté
    Monwarez, ce que tu décrit, c'est déja le boulot du PPU ( [ame]http://fr.wikipedia.org/wiki/Physics_processing_unit[/ame] )

  11. #11
    Inactif  
    PPU que l'on retrouve aujourd'hui dans les cartes graphiques
    *graou* et même *graou*, ou encore *graou*

  12. #12
    Membre actif
    Citation Envoyé par kedare Voir le message
    Monwarez, ce que tu décrit, c'est déja le boulot du PPU ( http://fr.wikipedia.org/wiki/Physics...rocessing_unit )
    Autant pour moi, je ne connaissait pas se type de processeur
    Le calcul de gravité est il inclus dans le PPU?

  13. #13
    Membre régulier
    Il me semble que le PPU n'est présent que sur les carte Ageia. Pour l'accélération via GPU, ça utilise les shader, il n'y a pas d'unité dédiée à la physique sur les cartes graphiques.

  14. #14
    Membre habitué
    doucement mes amis Pour que ce rêve soit vraiment possible il faut qu'on soit a un stade avancé de la parallélisation très avancé même.

  15. #15
    Membre éclairé
    il y a encore énormément de chemin a faire avant que ça soit le cas,

    les cartes intel ne sont vraiment pas puissante et niveau divers de carte graphique, ça n'a jamais été le point fort d'intel

  16. #16
    Futur Membre du Club
    le futur du GPU
    le futur du GPU

    ben à mon avis :

    comme dis rem02 ( Pourquoi ne pas changer totalement l'architecture materiel. ... ) , l'architecture de base de la carte mêre serra surement un peu
    paufinée dans le futur ( voire l'aventure du format BTX par exemple .. ),
    mais elle est déjà trés performant et stable :


    ( Voire Photo jointe )

    ... quoique avec les Northbridge partiellement integrés aux CPUs maintenant ... ToT ...

    en fait, elle n'a pas vraiment évoluée depuis l'AGP ...

    on pourrait effectivement penser qu'à terme, le GPU aura un socket et son
    ventirad ' tour ' comme le CPU ...

    2. Faire une puce unique presente beaucoup de contraintes de dissipation
    thermique + coûts de production, alors qu'une architecture à deux sockets
    distincts permet plus de fléxibilité

    3. C'est à l'OS et aux API d'être bien optimisée, et on peu imaginer que de même que Windows s'amèliore à chaque géneration au niveau de l'équilibrage de charges / threads par core de CPU, que les API prennent de plus en plus en compte cet aspect, et que les programmeurs s'améliorent et optimisent dans l'esprit multi-coeurs CPU; on peut imaginer pour l'avenir des OS et des API
    qui dispatchent entres les deux processeurs ( CPU et GPU ) d'une façon trés efficiente, et des programmeurs qui utilisent de plus en plus ces capacités,
    notemment la puissance de calcul disponible par CUDA ( GPGPU )

    4. Au delà, la question est : ( 1 CPU + 1 GPU ) ou ( 1 super MPU ) ?

    ( par super-MPU, je veux dire Middle Processing Unit dans mon langage, c'est à dire Larabee je pense, c'est à dire des 16 ou des 32 coeurs, qui sauraient
    faire globalement bien les deux tâches CPU + GPU, mais sans être particulièrement au top sur aucune )

    alors ( 1 CPU + 1 GPU ) ou ( 1 super MPU ) ?

    est ce qu'ilvaut mieux avoire deux generalistes moyens mais qui travaillent tout le temps, ou deux super spécialistes, mais au risque qu'il y en ait toujours un qui ne fasse rien ou qui soit sous utilisé ?

    5. Enfin, il y a le problème de la parallélisation des tâches :

    . un GPU, avec une API bien pensée, et bien utilisée par un programmeur, peut être d'une puissance incroyable pour certaines tâches ( tâches super parallelisables comme le vidéo processing, le traitement d'image, ... )

    et on peut remarquer que ça semble concerner tout ce qui touche au multimédia ( image, son, vidéo, 3D ) ... donc l'avenir ... d'autant que les gens voudront toujours plus de High definition / 3D / Eyes candy dans leurs OS ... donc l'avenir est radieux pour cette fonction

    . un CPU, pour une tâches peu parallisable, sera lui par contre bien plus efficace ( résoudre f(n+1) = f(n)*a par exemple )

    et la plupart des tâches de ' travail ' que nous réalisons sur un PC rentrent dans cette catégorie, sont trés peu parallélisables, parcque le but d'un ordinateur, son avantage initial, c'est de faire rapidement un calcul, d'arriver à un résultat, une conclusion ... ce qui implique beaucoup de linéarité, et peu de parallélisation

    ( Si vous voulez vous amuser, essayez d'imaginer tout ce que vous avez fait sur votre PC depuis une semaine, et que vous envoyiez toute cette 'trace ' de code en un instant, vers un super hyper GPU, hyper parallélisé et optimisé ... et bien en fait, je pense que ça va lui prendre du temps, parcequ'il y a à chaque fois ' quelque chose qui depend d'autre chose avant .. qui lui même dépends d'autre chose avant .. etc ... linéarité linéarité ... )

    Enfin, je ne fais que résumer vos idées postées plus haut sur ce forum, en y ajoutant les miennes ...

    Allez, révons tous un avenir radieux :

    moi je dirais, un CPU et un GPU sur la carte mêre ( aprés tout, il y a bien des ALUs et des FPUs qui cohabitent dans le CPU )

    chacqun au format SLOT, comme les carte graphiques ,avec envoi du flux
    d'air chauds hors du boîtier par le back panel :

    . facilité de montage / changement des pièces

    . meilleure gestion thermique du boitier

    Des OS, des APIs et des programmeurs qui prendront de plus en plus en charge l'équilibrage de charge entre le CPU et le GPU, en utilisant totallement la puissance CUDA disponible




  17. #17
    Membre expérimenté
    Ca me rappelle le CELL et ses cores qui sont pas vraiment des cores (avec ses Synergistic Processing Element et PowerPC Processing Element) (Enfin j'ai jamais vraiment comprit comment fonctionnais ce proc...) :
    http://fr.wikipedia.org/wiki/Cell_(processeur)
    Mais quand on vois les benchmark et qu'on le vois exploser tout le reste, c'est impressionnant... ;p
    200 GFLOPS « PowerBlock™ 200 » Châssis ATR pour véhicule militaire terrestre contenant 1 processeur CELL @3 GHz, soit la capacité de 45 processeurs Intel Pentium 4 Xeon® @2,2 GHz

  18. #18
    Membre régulier
    Isukthar <<<

    La carte graphique est énorme car il y a de la mémoire et un tas de circuit permettant la gestion de celle-ci et de l'alimentation...

  19. #19
    Futur Membre du Club
    Gflops/s
    Citation Envoyé par kedare Voir le message
    Ca me rappelle le CELL et ses cores qui sont pas vraiment des cores (avec ses Synergistic Processing Element et PowerPC Processing Element) (Enfin j'ai jamais vraiment comprit comment fonctionnais ce proc...) :
    http://fr.wikipedia.org/wiki/Cell_(processeur)
    Mais quand on vois les benchmark et qu'on le vois exploser tout le reste, c'est impressionnant... ;p

    NVIDIA GTX 295 = 1789 GFlop/s Single Precision
    149 GFlop/s Double Precision

    ( source : http://perspectives.mvdirona.com/200...idiaGT200.aspx )

    Le Cell, c'est en double precision je suppose, On peut comparer ces chiffres entre eux ?

    Sinon, il y a des benchmarks vraiment applicatifs, sur le web ?
    ( je veux dire avec des vrais temps d'execution de programmes, pas des bandes passantes de GFlops ) ?

    Aussi, comme je le disais dans mon post, le résultat sera hautement dépendant du degrés de parallélisation du programme éxécuté ..

  20. #20
    Membre régulier
    Citation Envoyé par rem02 Voir le message
    Isukthar <<<

    La carte graphique est énorme car il y a de la mémoire et un tas de circuit permettant la gestion de celle-ci et de l'alimentation...
    Je sais bien, mais si la mémoire est sur la carte c'est pour des raisons de performances. Si le GPU avait un emplacement du style CPU et utilisait donc la ram, ça poserais problème. D'ailleurs, il n'y a que sur les cartes bas de gamme qu'on fait appel à la RAM. Sur les autres cartes, on a de la mémoire dédiée en grosse quantitée et très rapide.

    Citation Envoyé par kedare Voir le message
    Ca me rappelle le CELL et ses cores qui sont pas vraiment des cores (avec ses Synergistic Processing Element et PowerPC Processing Element) (Enfin j'ai jamais vraiment comprit comment fonctionnais ce proc...) :
    http://fr.wikipedia.org/wiki/Cell_(processeur)
    Mais quand on vois les benchmark et qu'on le vois exploser tout le reste, c'est impressionnant... ;p

    C'est vrai que c'est impressionnant pour un CPU. Mais en puissance brute pour une utilisation massivement parallèle, il n'y a rien d'impressionant par rapport aux cartes graphiques. Une petite radeon 4850 à 80€ fournit 1 TFlop en simple précision.

###raw>template_hook.ano_emploi###