Quels sont les avantages et les inconvénients de GPGPU (general-purpose GPU) de développement?
Je me demande quelle est la chose qui vous aide dans GPGPU de développement et bien sûr, qu'est-ce que les contraintes que vous trouvez inacceptable.
Me vient à l'esprit:
- Avantage important: la puissance brute de ces choses
- Contrainte de clé: le modèle de mémoire
Quel est votre point de vue?
OriginalL'auteur Fabien Hure | 2008-09-23
Vous devez vous connecter pour publier un commentaire.
Vous devez être prudent avec la façon dont vous interprétez Tim Sweeney affirmations que les Ars interview. Il dit que le fait d'avoir deux plates-formes (le CPU et le GPU), un single-threaded performances et un débit-oriented computing, va bientôt être une chose du passé, comme de nos applications et de matériels de pousser l'un vers l'autre.
Le GPU a grandi hors des limites de la technologie avec le CPU, ce qui fait sans doute le plus naturel des algorithmes comme le ray-tracing et photon mapping proche-annulables à des résolutions et fréquences d'images. Dans est venu le GPU, avec un très différentes et restrictives du modèle de programmation, mais peut-être 2 ou 3 ordres de grandeur un meilleur débit pour les applications soigneusement codé à ce modèle. Les deux modèles de machines à eu (et ont encore) essentiellement de codage différents styles, de langues (OpenGL, DirectX, shader langues vs de bureau traditionnel des langues), et les flux de travail. Cela rend la réutilisation du code, et même de l'algorithme de programmation et de compétences de la réutilisation, il est extrêmement difficile, et les ischio-jambiers tout développeur qui souhaite faire usage d'un réseau dense de calcul parallèle substrat dans cette restrictives du modèle de programmation.
Enfin, nous arrivons à un point où cette dense calculer substrat est également programmable pour un CPU. Bien qu'il existe encore une importante performance de delta entre une "base" de ces massivement parallèle des accélérateurs (bien que les threads d'exécution à l'intérieur, par exemple, un SM sur le G80, ne sont pas exactement les carottes dans le sens traditionnel du terme) et un moderne x86 desktop core, deux facteurs influent sur la convergence de ces deux plates-formes:
Donc, ce que Tim a été dit, c'est que les 2 plates-formes vont converger, pour une mesure encore plus grande que, par exemple, OpenCl, offre. L'une des principales citation de l'interview:
OriginalL'auteur Matt J
J'ai trouvé cet article intéressant sur la façon GPU ne sera pas nécessaire avec la vitesse de la CPU et le nombre de noyaux de plus en plus.
http://arstechnica.com/articles/paedia/gpu-sweeney-interview.ars
OriginalL'auteur Lou Franco
Utilisé pour être intéressants pour leurs architectures parallèles et extra silicium qui a été principalement au repos et donc pourrait être utilisé sur le côté de l'objectif général des tâches de programmation -
voir - http://en.wikipedia.org/wiki/CUDA
mais il pourrait ne pas être aussi pertinentes dans le visage de Lou la réponse ci-dessus.
OriginalL'auteur computinglife
Le principal avantage est gigaflops - puissance brute. Les inconvénients sont limitées, non orthogonale, jeu d'instructions et modèle de programmation.
Voici une étude d':
http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907
L'article de wikipédia est un bon début.
Lou Franco points pour une entrevue avec Tim Sweeney; voici les slides d'une conférence qu'il a donné, qui a plus de détails:
http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney
Peut aussi nez autour de:
http://gpgpu.org
OriginalL'auteur ja.