Apple M1 : les petits coeurs Icestorm se mesurent aux gros coeurs Firestorm
Publié le 06/09/2021 - Source : Tom's Hardware
La puce M1 d’Apple possède 8 cœurs CPU en tout, mais de deux types : 4 cœurs haute performance, appelés Firestorm, et 4 cœurs basse consommation, les Icestorm. Si les performances des premiers et de la puce dans son ensemble ont été examinées à travers de nombreux tests, jusqu’à présent, nous ne savions pas ce que valaient les cœurs Icestorm lorsqu’ils œuvraient seuls. Le site The Eclectic Light Company nous apporte des réponses.
Le testeur a soumis les petits cœurs Icestorm à des calculs en virgule flottante et comparé les résultats à ceux obtenus par les cœurs Firestorm. Afin qu’à chaque fois, seuls les cœurs Icestorm ou Firestorm travaillent, il a joué sur le QoS (Quality of Service) de macOS.
Les tests portent sur quatre scénarios : « une boucle serrée en langage assembleur utilisant des instructions SIMD mixtes sur des tableaux de 4 largeurs de nombres à virgule flottante en simple précision ; l’appel SIMD d’Apple (un parent des bibliothèques Accelerate) simd_dot() sur deux tableaux simd_float4, en utilisant Swift ; Swift simple pour utiliser des boucles imbriquées ; une boucle imbriquée Swift plus ‘idiomatique’ utilisant map et reduce ». En somme, les quatre tests visent à couvrir un large éventail de scénarios, du plus bas niveau (en assembleur) à l’exécution plus réaliste et classique d’une app macOS (code Swift). Les codes utilisés dans la boucle itérative figurent en fin d’article.
Résultats
Les temps des cœurs Firestorm servent de référence avec une base 100 %. Autrement dit, 100 % représente un temps identique, et 200 % le double de ce temps. Le tableau ci-dessous rassemble les temps mis par les cœurs Icestorm dans les différents scénarios et ceux des cœurs Firestorm.
Tâches
SMID
Assembly
Swift simple
« Idiomatique » Swift
Cœurs Firestorm
0,0938 secondes
0,142 secondes
0,451 secondes
15,7 secondes
Cœurs Icestorm
0,309 secondes
0,271 secondes
1,27 secondes
86,3 secondes
Performance relative (sur base de 100 %)
330 %
190 %
280 %
550 %
Comme l’on pouvait s’y attendre, plus les codes deviennent complexes, plus les cœurs Icestorm accusent du retard. Rien de dramatique, puisque ce n’est pas leur rôle. Et surtout, il faut mettre ces résultats en perspective avec la consommation : les cœurs Icestorm sont nettement plus frugaux que leurs grands frères, puisqu’ils consomment 4 fois moins d’énergie.