Apple travaille depuis des années sur le Dynamic Caching des puces M3

Pierre Dandumont |

Lors de l'annonce des puces M3, Apple a mis en avant une nouvelle fonction de ses GPU, le Dynamic Caching. Et des brevets montrent que l'idée n'est pas totalement nouvelle chez Apple : elle date au moins de 2020.

La gestion de la mémoire vidéo a toujours été un domaine compliqué, spécialement avant la mise en place de la technologie Smart Access Memory (chez AMD) ou Resizable Bar (le nom de la technologie). Avant cette technologie (apparue vers 2020), les transferts entre la mémoire classique et la mémoire vidéo étaient réduits à une fenêtre de 256 Mo dans la mémoire vidéo (c'est-à-dire un espace limité à 256 Mo). Avec le Resizable Bar, cette fenêtre peut être plus grande, ce qui simplifie les transferts dans les jeux et les applications qui doivent accéder à une grande quantité de mémoire vidéo. Apple, avec sa mémoire unifiée, règle en partie ce problème : le CPU et le GPU se partagent le même espace, ce qui réduit les soucis liés aux transferts car ils n'existent pas. Mais même avec cette solution, un problème se pose : la taille des données.

Apple ne donne pas beaucoup de détails mais cet article de Digital Trends tente une explication. Quand un GPU doit exécuter des shaders en parallèle, il doit allouer de la mémoire vidéo à chacun d'entre eux, de façon statique. Un shader peut être vu schématiquement comme un programme qui s'exécute sur le GPU, et si une puce en exécute beaucoup en parallèle — comme un jeu — un problème se pose : une allocation statique peut demander trop de mémoire. Nos confrères expliquent que les programmes doivent partir sur une capacité adaptée au pire cas et qu'il est donc possible de remplir la mémoire vidéo, ce qui a un impact important sur les performances.

Dans un GPU classique, l'allocation statique augmente l'usage de la mémoire.

L'idée de la technologie d'Apple, donc, consiste à laisser le GPU gérer l'allocation de manière dynamique — en s'adaptant aux tâches en cours —, ce qui réduit l'occupation de la mémoire. D'un point de vue pratique, il y a deux effets directs : une occupation plus faible de la mémoire, mais aussi une amélioration des performances, avec la possibilité d'exécuter plus de tâches sans saturer la mémoire.

Comme Apple met en avant le fait que la mémoire unifiée permet d'obtenir une grande quantité de mémoire vidéo (jusqu'à 128 Go dans un MacBook Pro M3 Max), l'idée de réduire son utilisation peut sembler paradoxale, mais elle ne l'est pas. Car en réalité la mémoire unifiée n'est pas nécessairement un avantage. Sur un MacBook Pro 14 pouces M3 doté de seulement 8 Go de RAM — ce qui est une aberration en 2023 —, la quantité de mémoire vidéo disponible est plus faible que sur un PC doté d'un GPU équivalent. En effet, ce dernier a probablement une mémoire vidéo dédiée de 4 Go ou 8 Go, en plus de la RAM du PC lui-même1, alors que le MacBook Pro partage 8 Go entre CPU et GPU.

Apple montre que sa technologie réduit l'usage et c'est intéressant.

Un des autres avantages vient aussi probablement des changements effectués sur le bus mémoire de la puce M3 Pro : en passant de 256 bits à 192 bits, Apple a réduit la bande passante mémoire (de 200 à 150 Go/s environ) et donc les solutions qui permettent de réduire la mémoire utilisée réduisent aussi in fine la bande passante nécessaire.

18, 24 ou 36 Go de RAM : Apple profite de la mémoire non binaire

Dans tous les cas, la technologie devrait permettre à Apple d'utiliser encore un peu plus efficacement les unités de ses GPU, alors même que l'architecture choisie au départ offre déjà une efficacité élevée dans une bonne partie des cas. Et cette nouveauté a l'avantage d'être transparente pour les développeurs, qui ne doivent a priori pas modifier leurs programmes.


  1. Et aucun fabricant n'ose vendre un PC à 2 000 € avec 8 Go de RAM, soyons clairs.  ↩︎

Accédez aux commentaires de l'article