Dans un article récent publié sur son blog, Jeff Geerling nous dévoile les dernières optimisations apportées au Raspberry Pi 5 grâce à des ajustements de la SDRAM. Ces modifications, réalisées par les ingénieurs de Raspberry Pi, permettent d’améliorer significativement les performances du Pi 5, avec des gains de vitesse allant jusqu’à 20 % avec l’horloge par défaut de 2,4 GHz. Jeff partage également ses expériences d’overclocking, atteignant une augmentation de 32% à 3,2 GHz. Découvrez comment ces ajustements pourraient bientôt bénéficier à tous les utilisateurs de Pi 5 et Pi 4 dans cet article passionnant.
Au sommaire :
Raspberry Pi améliore les performances du Pi 5 avec un réglage de la SDRAM
Traduction d’un article original de Jeff Geerling
Résumé : Les ingénieurs de Raspberry Pi ont ajusté les timings de la SDRAM et d’autres paramètres de mémoire sur le Pi, ce qui a entraîné une augmentation de la vitesse de 10 à 20 % avec l’horloge par défaut de 2,4 GHz. J’ai bien sûr dû tester l’overclocking, ce qui m’a permis d’obtenir une augmentation de 32 % à 3,2 GHz ! Les modifications pourraient bientôt être déployées dans une mise à jour du firmware pour tous les utilisateurs de Pi 5 et Pi 4.
Raspberry Pi 5 avec les ajustements de la SDRAM appliqués sur le bureau
Ma quête du record mondial de score Geekbench 6 sur un Pi 5 continue, car il y a quelques mois, Martin Rowan a utilisé des astuces de refroidissement et d’émulation NUMA pour battre mon précédent record.
Mais les ingénieurs de Raspberry Pi ajustent encore plus les timings de la mémoire. Ils ont discuté avec Micron et ont mis en œuvre un certain nombre de petits ajustements qui, avec l’émulation NUMA, se traduisent par une amélioration des performances pour les charges de travail multi-cœurs. Et même une petite amélioration pour les cœurs uniques !
L’intervalle de rafraîchissement de la SDRAM utilise actuellement les paramètres par défaut de la fiche technique. Vous pouvez en fait surveiller la température de la SDRAM et elle indique si un rafraîchissement à la moitié ou au quart du taux peut être effectué. Cela permet de réduire la surcharge due au rafraîchissement de moitié ou d’un quart, ce qui améliore les résultats des benchmarks.
Nous avons contacté Micron, et il y a de bonnes nouvelles. Ils ont dit qu’ils testaient en fait leur SDRAM de 8 Go avec le timing de rafraîchissement de 4 Go (plutôt que les timings JEDEC plus lents), et donc on pouvait faire fonctionner en sécurité les circuits 8 Go avec le timing des 4 Go.
Les ajustements peuvent également donner un coup de pouce au Pi 4, mais le Pi 5 s’améliore de manière plus spectaculaire :
Le Pi 5 dispose également d’une SDRAM plus rapide, d’un meilleur accès à la SDRAM (c’est-à-dire des bus internes plus larges et plus rapides), donc généralement les améliorations avec NUMA sont plus importantes.
Ajustements de la SDRAM
Pour obtenir les dernières accélérations de la RAM pour l’instant (cela pourrait bientôt être par défaut) :
- Mettez à jour le firmware du Pi à la dernière version :
sudo rpi-update
(confirmez avec Y) - Modifiez la configuration du bootloader :
sudo rpi-eeprom-config -e
- Ajoutez la configuration
SDRAM_BANKLOW=1
(pour le Pi 5… pour le Pi 4, utilisez 3) - Redémarrez
Émulation NUMA
Depuis mon premier post sur l’émulation NUMA sur le Pi 5, les correctifs nécessaires ont été ajoutés au noyau de l’OS de Raspberry Pi.
Donc, pour utiliser NUMA, il suffit de s’assurer que vous êtes sur la dernière version de Pi OS (par exemple, sudo apt full-upgrade
).
Pour vérifier si l’émulation NUMA fonctionne, exécutez dmesg | grep NUMA
et assurez-vous qu’il dit quelque chose comme mempolicy: NUMA default policy overridden to 'interleave:0-7'
. Vous pouvez ajuster les paramètres si vous le souhaitez en ajoutant numa=fake=[n]
dans /boot/firmware/cmdline.txt
, bien que les paramètres par défaut devraient être appropriés pour la plupart des cas d’utilisation.
Overclocking
(Note de framboise314 : Faites le à vos propres risques.
Si votre Raspi ne démarre plus suite à l’overclocking, démarrez avec la touche SHIFT appuyée, vous démarrez sans overclocking et vous pourrez reprendre la main et revenir en arrière)
En suivant mon propre guide pour l’overclocking du Pi 5, j’ai défini les paramètres suivants dans /boot/firmware/config.txt
:
1 2 3 4 |
over_voltage_delta=72000 arm_freq=3200 gpu_freq=1000 |
Après avoir redémarré, j’ai réglé le ventilateur à 100 %, modifié le noyau avec mon projet pi-overvolt pour augmenter la tension du cœur, et défini le gouverneur de mise à l’échelle sur performance :
1 2 3 |
$ pinctrl FAN_PWM op dl $ cd pi-overvolt && sudo ./removelimit && vcgencmd cache_flush $ echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor |
Record mondial Geekbench, Partie 2
Avec seulement les modifications de firmware par défaut, mes scores Geekbench augmentent déjà considérablement (+8 % en single-core, +18 % en multi-core). En ajoutant un overclocking à 3,2 GHz (en utilisant mon hack pi-overvolt pour augmenter les tensions), ces augmentations passent à +32 % en single-core, +31 % en multi-core, ce qui donne un nouveau record mondial de score Geekbench 6 !
Résultat Geekbench | Pi 5 – par défaut | SDRAM + NUMA | OC à 3,2 GHz |
---|---|---|---|
Single | 833 | 899 (+8%) | 1153 (+32%) |
Multi | 1805 | 2169 (+32%) | 2468 (+31%) |
J’ai également effectué ces tests avec un simple refroidisseur actif Argon THRML 30-AC. Pour essayer de maintenir les températures sous contrôle, j’ai augmenté la vitesse du ventilateur à 100 % : pinctrl FAN_PWM op dl
.
Un mot sur l’overclocking : J’ai maintenant overclocké environ 20 Pi 5, et j’ai trouvé que la plupart étaient capables de 2,6 ou 2,8 GHz, et beaucoup (environ la moitié) étaient capables de 3,0 GHz. Mais au-delà, très peu peuvent atteindre 3,1 GHz ou plus. L’overclocking plus exotique (à 3,4 ou 3,5 GHz) est beaucoup plus difficile, et je n’ai eu qu’un seul Pi 5 qui démarre de manière fiable à ces vitesses, avec un refroidissement plus conséquent. Les timings de la RAM n’étaient déjà pas heureux à ces vitesses, et avec les ajustements supplémentaires de la SDRAM, j’imagine que l’overclocking extrême sera encore plus instable.
Conclusion
Ces optimisations pourraient bientôt devenir par défaut. J’ai commencé à m’intéresser à cela après que quelqu’un sur Twitter a mentionné avoir vu des résultats Geekbench Pi 500 à partir de septembre – tous apparemment avec ces ajustements déjà en place !
La vitesse de la mémoire a été une épine dans le pied du Pi 5 en comparaison à de nombreuses cartes RK3588. C’est agréable de voir que les ajustements de la SDRAM lui donnent un coup de pouce significatif, plus d’un an après son lancement.
Et les lecteurs aux yeux aiguisés noteront que je n’ai overclocké qu’à 3,2 GHz au lieu de 3,4 GHz cette fois-ci. Je laisse la porte ouverte à quelqu’un d’autre pour combiner toutes les astuces ci-dessus pour atteindre un nouveau record mondial 😉
Sources
https://www.jeffgeerling.com/blog/2024/raspberry-pi-boosts-pi-5-performance-sdram-tuning
Bonjour François
PI4 sous Debian 11
j’avais déjà remarqué qu’après un « sudo rpi-update »
impossible de configurer le GPIO en Python
Traceback (most recent call last):
File « /home/pi/Scripts-Develop/Thermo2-BME-204.py », line 966, in <module>
config_GPIO()
File « /home/pi/Scripts-Develop/Thermo2-BME-204.py », line 81, in config_GPIO
GPIO.setup(V1,GPIO.OUT,initial=GPIO.LOW)
RuntimeError: Not running on a RPi!