Quelle est la différence entre les GPU et les CPU ?

Le CPU (unité centrale de traitement) est un composant matériel qui constitue l'unité centrale de traitement d'un serveur. Il gère toutes les tâches informatiques nécessaires au fonctionnement du système d'exploitation et des applications. Une unité de traitement graphique (GPU) est un composant matériel similaire, mais plus spécialisé. Il traite plus efficacement qu'un CPU général les opérations mathématiques complexes qui s'exécutent en parallèle. À l'origine, les GPU ont été conçus pour gérer les tâches de rendu graphique des jeux vidéo et des animations, mais leur utilisation s'étend désormais à bien d'autres domaines.

Similitudes entre les GPU et les CPU

Les CPU et les unités de traitement graphique (GPU) sont des unités matérielles qui permettent aux ordinateurs de fonctionner. Ils jouent en quelque sorte le rôle du cerveau d'un appareil informatique. Tous deux possèdent des composants internes similaires, notamment des cœurs, de la mémoire et des unités de contrôle.

Cœur

Les GPU et CPU possède tous deux des cœurs qui exécutent tous les calculs et les fonctions logiques. Le cœur extrait des instructions de la mémoire sous la forme de signaux numériques appelés bits. Il décode les instructions et les fait passer par des portes logiques dans un délai d'exécution appelé cycle d'exécution d'une instruction. À l'origine, les CPU ne possédaient qu'un seul cœur, mais les CPU et GPU multi-cœurs sont aujourd'hui monnaie courante.

Mémoire

Les CPU et les GPU effectuent des millions de calculs par seconde et utilisent la mémoire interne pour améliorer les performances de traitement. Le cache est la mémoire intégrée qui permet un accès rapide aux données. Les étiquettes L1, L2 ou L3 des CPU indiquent la disposition du cache. L1 est la plus rapide et L3 la plus lente. Une unité de gestion de mémoire (MMU) contrôle le mouvement des données entre le cœur, le cache et la RAM du CPU à chaque cycle d'exécution d'une instruction.

Unité de commande

L'unité de commande synchronise les tâches de traitement et détermine la fréquence des impulsions électriques générées par l'unité de traitement. Les CPU et les GPU à fréquence plus élevée offrent de meilleures performances. Cependant, la conception et la configuration de ces composants diffèrent selon qu'il s'agit d'un CPU ou d'un GPU, de sorte que les deux sont utiles dans des situations différentes.

Principales différences : CPU vs GPU

L'arrivée de l'infographie et de l'animation a donné naissance aux premières charges de travail à haute capacité de calcul, que les CPU n'étaient tout simplement pas conçus pour gérer. Par exemple, l'animation de jeux vidéo exigeait que les applications traitent des données afin d'afficher des milliers de pixels, chacun avec sa propre couleur, sa propre intensité lumineuse et son propre mouvement. À l'époque, les calculs mathématiques géométriques effectués sur les CPU entraînaient des pertes de performance.

Les fabricants de matériel ont peu à peu découvert que le déchargement des tâches courantes concernant le multimédia pouvait soulager le CPU et améliorer les performances. Aujourd’hui, les charges de travail des unités de traitement graphique (GPU) gèrent plusieurs applications à haute capacité de calcul plus efficacement que les processeurs, par exemple le machine learning et l’intelligence artificielle.

Fonction

La principale différence entre un CPU et un GPU réside dans leurs fonctions. Un serveur ne peut pas fonctionner sans CPU. Le CPU gère l'ensemble des tâches nécessaires au bon fonctionnement de tous les logiciels du serveur. D'autre part, le GPU permet au CPU d'effectuer des calculs simultanés. Le GPU peut effectuer des tâches simples et répétitives beaucoup plus rapidement, car il décompose la tâche en composants plus petits qu'il termine en parallèle.

Conception

Les GPU excellent dans le traitement parallèle grâce à plusieurs cœurs ou unités arithmétiques et logiques (UAL). Les cœurs des GPU sont moins puissants que ceux des CPU et leur mémoire est moins étendue. Alors que les CPU peuvent passer rapidement d'un jeu d'instructions à un autre, les GPU prennent simplement un volume élevé d'instructions identiques et les transmettent à grande vitesse. Par conséquent, les fonctions du GPU sont essentielles au calcul parallèle.

Exemple de différences

Pour mieux comprendre, prenons l'analogie suivante. Le CPU est comme le chef cuisinier d'un grand restaurant, qui doit s'assurer que des centaines de hamburgers sont préparés. Il pourrait le faire lui-même, mais ce ne serait ni rapide ni efficace. Toutes les activités en cuisine pourraient s'arrêter ou ralentir pendant que le chef cuisinier effectue cette tâche simple mais fastidieuse. Pour éviter cela, le chef cuisinier peut faire appel à des assistants juniors qui préparent plusieurs hamburgers à la fois. Le rôle du GPU ressemble à celui d'un assistant junior, qui posséderait dix mains et pourrait préparer 100 hamburgers en 10 secondes.

Situations où il faut préférer les GPU aux CPU

Il faut bien noter qu'il n'est pas forcément nécessaire de choisir entre les CPU et les unités de traitement graphique (GPU) : les deux peuvent être utilisés. Tous les serveurs et toutes les instances de serveur dans le cloud nécessitent un CPU pour fonctionner. Cependant, certains serveurs incluent également des GPU en tant que coprocesseurs supplémentaires. Les charges de travail spécifiques sont mieux adaptées à une exécution sur des serveurs dotés de GPU qui exécutent plus efficacement certaines fonctions. Par exemple, les GPU sont idéaux pour le calcul de nombres en virgule flottante, le traitement graphique ou la mise en correspondance de modèles de données.

Voici quelques applications dans lesquelles il est parfois plus judicieux d'utiliser des GPU plutôt que des CPU.

Deep learning

Le deep learning est une méthode d'intelligence artificielle (IA) qui apprend aux ordinateurs à traiter les données d'une manière inspirée par le cerveau humain. Les algorithmes de deep learning peuvent par exemple reconnaître des modèles complexes dans des images, du texte, des sons et d'autres données afin de produire des informations et des prévisions précises. Les serveurs basés sur des GPU offrent des performances élevées pour le machine learning, les réseaux neuronaux et les tâches de deep learning.

En savoir plus sur le deep learning »

En savoir plus sur le machine learning »

En savoir plus sur les réseaux neuronaux »

Calcul haute performance

Le terme calcul haute performance fait référence à des tâches qui nécessitent une très grande puissance de calcul. Voici quelques exemples :

  • Vous devez exécuter des simulations géoscientifiques et des traitements sismiques rapidement et à grande échelle.
  • Vous devez effectuer des simulations financières pour obtenir des prévisions et ainsi identifier les risques liés au portefeuille de produits, les possibilités de couverture, etc.
  • Vous devez créer des applications de science des données prédictives, en temps réel ou rétrospectives dans les domaines de la médecine, de la génomique et de la découverte de médicaments.

Un système informatique basé sur un GPU est mieux adapté aux tâches informatiques haute performance comme celles-ci.

En savoir plus sur le calcul haute performance »

Véhicules autonomes

Pour développer et déployer des systèmes avancés d'aide à la conduite (ADAS) et des systèmes de véhicules autonomes (AV), vous avez besoin de technologies de calcul, de stockage, de mise en réseau et d'analyse hautement évolutives. Par exemple, des fonctionnalités de collecte de données, d'étiquetage et d'annotation, de développement de cartes et d'algorithmes, de simulation et de vérification vous seront indispensables. Des charges de travail aussi complexes nécessitent des systèmes informatiques basés sur des GPU pour fonctionner efficacement.

Récapitulatif des différences : CPU vs GPU

 

Processeur

Unité de traitement graphique (GPU)

Fonction

Composant généralisé qui gère les principales fonctions de traitement d'un serveur

Composant spécialisé qui excelle dans le calcul parallèle

En cours

Conçu pour le traitement des instructions en série

Conçu pour le traitement des instructions en parallèle

Conception

Des cœurs moins nombreux et plus puissants

Plus de cœurs que les CPU, mais moins puissants que les cœurs de CPU

Idéal pour

Applications de calcul à usage général

Applications de calcul haute performance

Comment AWS peut-il répondre à vos exigences en matière de serveurs CPU et GPU ?

Amazon Web Services (AWS) propose Amazon Elastic Compute Cloud (Amazon EC2), la plateforme de calcul la plus vaste et complète. Elle possède plus de 500 instances et vous permet de choisir le processeur, le stockage, la mise en réseau, le système d'exploitation et le modèle d'achat les plus récents pour vous aider à répondre au mieux aux besoins de votre charge de travail.

Voici les principaux atouts d'Amazon EC2 :

  • Les instances à usage général fournissent des ressources de calcul, de mémoire et de réseau équilibrées. Vous pouvez sélectionner des configurations avec 2 à 128 CPU virtuels.
  • Les instances de calcul accélérées fournissent des cœurs d'unité de traitement graphique (GPU) supplémentaires pour une puissance de calcul accrue. Vous pouvez obtenir jusqu'à huit GPU par instance.

Démarrez avec les instances de serveur sur AWS en créant un compte gratuit dès aujourd'hui.

Étapes suivantes avec AWS

Commencez à créer avec GPU
Commencez à créer avec CPU