Puces M2 Pro et M2 Max : une idée des performances graphiques


Après les premiers tests du CPU de la M2 Pro d'Apple, c'est au tour des premiers tests du GPU des puces M2 Pro et M2 Max d'apparaître dans la base de données de GeekBench et de nous donner une première idée de la puissance graphique des puces des nouveaux MacBook Pro présentés cette semaine.

Sur GeekBench, on peut donc trouver deux tests Metal intéressants : un de la puce M2 Pro avec le GPU de 19 coeurs qui obtient un score de 52 691, et un autre de la puce M2 Max avec un GPU dont le nombre de coeurs n'est pas précisé et qui obtient un score de 86 805. Apple envoyant généralement ses configurations les plus musclées aux journalistes et youtubeurs qui testent les machines en amont de leur sortie, il s'agit sans doute de la configuration la plus haut de gamme à 38 coeurs.

À titre de comparaison, voici les scores des puces de la génération précédente sur les tests Metal : la puce M1 Pro de 16 coeurs obtenait un score de 39 758, la puce M1 Max de 32 coeurs montait à 64 708, et la puce M1 Ultra de 48 coeurs du Mac Studio atteignait 94 583.


Apple M2 Pro et M2 Max

La puce M2 Pro haut de gamme obtient donc un score en progrès de 33% par rapport à la puce M1 Pro haut de gamme, et la puce M2 Max obtient un score 34% plus important que la puce M1 Max. La puce M2 Max vient d'ailleurs titiller la puce M1 Ultra du Mac Studio qui ne garde que 9% d'avance. Voilà qui est particulièrement prometteur pour la future puce M2 Ultra du Mac Pro qui regroupera deux puces M2 Max et disposera donc de 76 coeurs de GPU !
Des liens n'apparaissent pas ? Des images sont manquantes ? Votre bloqueur de pub vous joue des tours. Pour visualiser tout notre contenu, merci de désactiver votre bloqueur de pub !

Partager

Retrouvez le MacBook Pro sur notre comparateur de prix.

Sur le même sujet

Vos réactions (17)

bunios

21 janvier 2023 à 15:53

Un peu plus de 32,5 % de gain entre le M1 Pro et le M2 Pro voir 32,6 % entre le M1 Max et le M2 Max. C'est toujours ça de gagner.
Maintenant à voir ce que cela donne sur des logiciels de production (Photoshop et Cie).

Merci Sylvain, toujours au taquet.

A+

bunios

21 janvier 2023 à 15:54

PS : bientôt les tests du Mac Mini M2 Pro et MacBook Pro M2 Pro à venir....

pim

21 janvier 2023 à 16:56

À noter que les M2 Pro et M2 Max se différencient par leur fréquence processeur. Le Max est 20 % plus rapide alors que jusqu’à présent il n’y avait pas de différence entre le M1 Pro et le M1 Max.

Du coup les 15 % que l’on a entre le M1 Pro et le M2 Pro se transforment en 40 % entre le M1 Max et le M2 Max.

Yann7

21 janvier 2023 à 17:14

@pim d'où tu tiens cette information? Le M2 pro est la partie supérieure d'un M2 max.

LolYangccool

21 janvier 2023 à 17:36

Les CPU des puces M2 Pro et M2 Max sont identiques, comme c'était le cas avec les M1 Pro et M1 Max.

Zarck

21 janvier 2023 à 23:08

Je n'ai toujours pas compris à quoi correspondants les 48 coeurs gpu Apple, par rapport à une Nvidia RTX 4090 qui à 16 384 processeurs de flux ? quelqu'un peut expliquer ?

Sethenès

22 janvier 2023 à 00:34

Je me base sur cette page : https://www.notebookcheck.net/Apple-M1-Max-32-Core-GPU-Benchmarks-and-Specs.579797.0.html où dans le premier paragraphe, il est question des 4096 ALU des 32 cores GPU d'un Apple M1 Max, je cite :

"The Apple M1 Max 32-Core-GPU is an integrated graphics card by Apple offering all 32 cores in the M1 Max Chip. The 4,096 ALUs offer a theoretical performance of up to 10.4 Teraflops. ".

Je ne sais pas si c'est constant entre tous les modèles mais si on fait le ratio entre 4096 et 32 coeurs, on obtient le nombre de processeurs de flux par coeurs (128). Donc, par simple règle de 3, 48 coeurs devrait être égaux à 6144 processeurs de flux.

Evidemment, on ne peut pas directement comparer ces processeurs de flux Apple à Nvidia (question de fréquence, de technologie, d'efficience CUDA / Metal / OpenCl mais cela donne une idée.

Sethenès

22 janvier 2023 à 00:56

Je peux en profiter pour ajouter un petit mot d'explication sur la programmation OpenCL (la seule que je connais un peu). Imaginons qu'on ait 100.000 calcul du genre G = (A + B * C) / (D + E * F) à réaliser.

On commence par envoyer au GPU un fichier texte qui contient le programme source. Le langage OpenCL ressemble très fort à du langage C. Ensuite on envoie un ordre de compilation et le GPU compile le texte source reçu en code.

Par la suite, on envoie les 6 vecteurs (tableau, array) contenant les 100.000 valeurs pour A, B, ... ainsi qu'un tableau G contenant 100.000 case vide. Enfin, on donne l'ordre de calculer. A ce moment là, le GPU va commencer le calcul et prendre les 6144 (dans ce cas-ci) premiers jeux de données et effectuer simultanément les calculs. Ensuite, il traitera les données suivantes de la même manière jusqu'à épuiser les 100.000 données.

Il ne reste plus qu'à renvoyer les données vers la mémoire du CPU et de signaler au programme principal que le calcul est terminé. Evidemment pendant le temps du calcul, soit le programme principal s'est mis en pause, soit il a continué et a (par exemple) délégué à un autre thread de gérer la suite du calcul. Mais ça, c'est de la programmation classique.

Sethenès

22 janvier 2023 à 01:37

Tant qu'on y est, deux limitation qui me semble intéressante de mettre en évidence :
1) les 6144 processeurs (d'une même carte) sont préchargés avec le même programme. Pas question de dire (à ma connaissance), je charge ce programme sur les 144 premiers et ensuite cet autre programme sur les 6000 restants
2) lorsque le GPU calcule l'item 38144, il effecture le calcul : G[38144] = (A[38144] + B[38144] * C[38144]) / (D[38144] + E[38144] * F[38144]). Ce processeur de flux (imaginons que ce soit le 1423ème) n'a pas accès autres données. Impossible donc, de retourner G (qui contient les 100.000 résultats) trié par ordre croissant.

Horaels

22 janvier 2023 à 13:07

@Sethenès : je crois aussi que la parallélisation de calculs différents n'est pas possible ; il faut lancer des processus différents qui vont utiliser le processeur graphique chacun leur tour.

Mais qu'en est-il des cœurs ARM ? Sont-ils considérés comme un GPU chacun, ou est-ce l'ensemble ?

Les problèmes d'optimisation sur macOS à la sortie de la puce M1 Ultra me laissent penser que chaque cœur est considéré comme un GPU différent.

Dans ce cas-là, le problème se réduit à 128, d'après les calculs mentionnés.

Autre point, dans une machine conventionnelle, l'utilisation de plusieurs cartes en parallèle nécessite beaucoup de mémoire vive : chaque carte doit avoir les mêmes données en entrée et ne s'occuper que d'une partie du traitement. Mettre 32 cartes en parallèle avec 4 Go de RAM chacune nécessite au total 128 Go de RAM. Sur l'architecture ARM, cela ne nécessite que 4 Go de RAM unifiée. Et cela renforce encore la possibilité de considérer chaque cœur comme un GPU distinct.

pim

22 janvier 2023 à 13:18

@Yann7 :

Je tiens cette info sur la fréquence de la puce M2 Max de bonne source, puisque j’avais Tim Cook a déjeuner dimanche dernier. Il m’a dit exactement : « Quand tu verras Yann7, dis-lui bien que je lui fais deux bises sur les fesses. Dis-lui bien les fesses, et deux bises, sur chacune des fesses. C’est amical, j’aime beaucoup Yann7 et c’est comme ça que j’ai envie de lui dire bonjour ».

@Sethenès :

Très intéressant, merci ! Toi aussi tu mériterais des bises sur les fesses de la part de Tim Cook, mais il ne m’a parlé que de Yann7, hélas !

Sethenès

22 janvier 2023 à 14:58

@Horaels : J'ai (rapidement) tenté de trouver la réponse mais sans succès. Il est possible qu'Apple offre cette souplesse. J'ai regardé en diagonale cette explication (lien) et il n'est pas fait mention de la sélection d'un nombre de GPU. Mais je n'ai pas approfondi.

Pour le reste, sur une machine conventionnelle comme tu le dis, chaque carte graphique vient avec sa mémoire dédiée. La 4090 est équipée de 24 GB. Elle coûte pas loin de 2000 euros aussi ...

La mémoire unifiée offre (selon moi) un avantage décisif. En effet, il n'est pas nécessaire de passer par les bus mémoire mémoire-CPU et ensuite par le bus PCI-Express CPU-GPU pour faire transiter les données. Je ne sais pas si c'est totalement gratuit. J'entends par la que le CPU dit au GPU, voilà où se trouve les infos, je te donne le contrôle sur cette partie de la mémoire - ou si - il faut malgré tout une recopie des données stockées dans la partie réservée au CPU vers la partie de mémoire dédiée au GPU.

Yann7

22 janvier 2023 à 16:33

@pim oui je suis sensible des fesses. Merci beaucoup!

LolYangccool

22 janvier 2023 à 16:58

@pim : Les fréquences entre les M2 Pro et M2 Max sont les mêmes normalement.
Mais il y a deux fréquences par CPU, comme pour les M1 Pro et M1 Max : la fréquence des coeurs basses conso diffère de la fréquence des coeurs haute performances.
Donc deux fréquences par CPU.

Yann7

22 janvier 2023 à 19:29

C'est surtout le M2 max qui profite d'amélioration graphique (moins de déperdition de performance avec beaucoup de cœurs). Selon Max Tech il serait 50% plus rapide que le M1 Max sur certaines tâches.

pehache

22 janvier 2023 à 22:16

@Zarck : la terminologie varie d'un fabricant de GPU à un autre. Chez NVidia, un GPU est composé d'un certain nombre de "processors", chacun étant composé d'un certain nombre de "cores" (genre 32 cores par processor). Les 32 cores d'un processor donné exécutent tous la même instruction en même temps, sur des données différentes (modèle SIMD), mais les différents processors peuvent exécuter des codes différents. Chez AMD les "cores" sont appelés "Stream Processors" (et je ne sais plus comment sont appelés les processors. Chez Apple j'ai l'impression que les "Cores" correspondent aux "Processors" de Nvidia.

pehache

25 janvier 2023 à 22:41

Plouf plouf... Après consultation de mes docs, je recommence, mais je l'ai mis dans un sujet sur le forum : https://consomac.fr/forums/topic/13249-terminologies-gpu-entre-nvidia-amd-apple/

Réagir
Vous devez être connecté à notre forum pour pouvoir poster un commentaire.

Plus loin Connexion
Plus loin Inscription