web-dev-qa-db-fra.com

Pourquoi les GPU sont-ils plus puissants que les CPU

Comment les GPU sont-ils plus rapides que les CPU? J'ai lu des articles qui expliquent comment les GPU sont beaucoup plus rapides à briser les mots de passe que les CPU. Si tel est le cas, pourquoi les processeurs ne peuvent-ils pas être conçus de la même manière que les GPU pour être encore plus rapides?

63
Faisal Abid

Les GPU sont conçus avec un seul objectif en tête: traiter les graphiques très rapidement. Puisque c'est la seule préoccupation qu'ils ont, il y a eu quelques optimisations spécialisées en place qui permettent à certains calculs d'aller beaucoup plus vite qu'ils ne le feraient dans un processeur traditionnel.

Dans le cas du craquage de mot de passe (ou du projet de dynamique moléculaire " pliage à la maison "), les programmeurs ont trouvé des moyens de tirer parti de ces processus optimisés pour faire des choses comme croquer les mots de passe à un rythme plus rapide.

Votre processeur standard doit effectuer des types de calcul et de traitement beaucoup plus différents que les processeurs graphiques, de sorte qu'ils ne peuvent pas être optimisés de manière similaire.

58
Dillie-O

Les GPU obtiennent leur vitesse pour un coût. Un seul cœur de processeur graphique fonctionne en réalité beaucoup plus lentement qu'un cœur de processeur unique. Par exemple, Fermi GTX 580 a une horloge de base de 772 MHz. Vous ne voudriez pas que votre CPU avec une horloge à cœur si bas de nos jours ... Le GPU a cependant plusieurs cœurs (jusqu'à 16) fonctionnant chacun en mode SIMD 32-wide. Cela apporte 500 opérations effectuées en parallèle. Les processeurs courants ont cependant jusqu'à 4 ou 8 cœurs et peuvent fonctionner en SIMD à 4 larges, ce qui donne un parallélisme beaucoup plus faible.

Certains types d'algorithmes (traitement graphique, algèbre linéaire, encodage vidéo etc ...) peuvent être facilement parallélisés sur un si grand nombre de cœurs. La rupture des mots de passe appartient à cette catégorie. Cependant, d'autres algorithmes sont vraiment difficiles à paralléliser. Il y a une recherche en cours dans ce domaine ... Ces algorithmes fonctionneraient vraiment mal s'ils étaient exécutés sur le GPU.

Les fabricants de CPU tentent désormais d'approcher le parallélisme du GPU sans sacrifier la capacité d'exécuter des programmes à thread unique. Mais la tâche n'est pas facile. Le projet Larabee est un bon exemple des problèmes. Intel y travaille depuis des années mais il n'est toujours pas disponible sur le marché.

64
CygnusX1