"Le single-core du M1 traite la mémoire en parallèle sur plus de 28 étapes"
-
L’accès à la mémoire coûte plus cher que les calculs
-
En théorie, un modèle naïf selon lequel, lorsqu’on accède à
x, on peut lire presque gratuitement les données voisines commex+1, peut sembler raisonnable, mais il ne permet pas de prédire les performances -
Dans quels cas cette prédiction des performances échoue-t-elle ? Les cœurs CPU tentent d’accéder simultanément à plusieurs emplacements mémoire
-
Si l’on effectue 7 accès mémoire en même temps, ce sera plus lent qu’un seul accès, mais sera-ce 7 fois plus lent ?
-
Un programme de benchmark a servi à tester combien d’accès simultanés (
lane, routines indépendantes de suivi de pointeurs) sont possibles
→ Il en déduit le nombre de lane en observant à partir de quel niveau les performances des accès simultanés commencent à chuter
- Comme les performances commencent à baisser au-delà de 28
lanesur un cœur de l’Apple M1, il en déduit qu’il y en a 28
→ C’est donc à cause de ce haut niveau de parallélisme que l’estimation des coûts fondée sur ce modèle naïf échoue
5 commentaires
À chaque fois qu’on parle de CPU,
https://ridibooks.com/books/443000037
ce livre m’aide beaucoup. Si certains veulent repartir depuis le début, je pense qu’en le lisant d’abord, il devient un peu plus facile de suivre.
Pour éviter de faire la promo de Ridibooks (...), le titre du livre est : Une histoire des CPU multicœurs que les programmeurs ignoraient. Pourquoi précisément Ridibooks ? Parce que l’édition papier est épuisée et que, pour l’ebook, la seule boutique restante est Ridibooks, je n’ai donc pas eu d’autre choix que de le mentionner.
Je ne savais pas que M. Kim Min-jang avait aussi écrit ce genre de livre… Déjà 10 ans, comme le temps passe ^^;
C’est vraiment la partie difficile. Il est compliqué de généraliser. Mais dans le contexte actuel, où les architectures CPU et le traitement parallèle se sont beaucoup développés, cela semble pouvoir être assez efficace. On se dit aussi qu’il y a beaucoup d’expérimentations pour améliorer l’architecture matérielle.
Comme c’est un professeur d’informatique qui l’a écrit, il semble qu’il se soit contenté de noter strictement les faits qu’il a lui-même identifiés..
En combinant les commentaires de ce billet avec ceux de HN : https://news.ycombinator.com/item?id=25659615
En gros, on peut comprendre que le M1 offre d’excellentes performances même lors d’accès aléatoires à plusieurs emplacements, notamment grâce à plus de 28 unités de parallélisation et à la taille du cache L1.