J'utilise Ubuntu 14.04 (noyau 3.13.0-24-générique) sur un ordinateur portable basé sur AMD A8-4500m, et j'ai récemment remarqué que AMD Turbo Core ne fonctionnait pas du tout. Tout fonctionne sous Windows, cependant, sous Linux, la fréquence du processeur ne peut pas dépasser 1,9 GHz (vérifiée avec cpufreq-aperf
).
Voici la sortie de cpupower frequency-info
, avis Actif: non sous le support de l'état boost:
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4.0 us.
hardware limits: 1.40 GHz - 1.90 GHz
available frequency steps: 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.40 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.90 GHz and 1.90 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.90 GHz (asserted by call to hardware).
cpufreq stats: 1.90 GHz:32,63%, 1.80 GHz:0,74%, 1.70 GHz:0,50%, 1.60 GHz:1,20%, 1.40 GHz:64,93% (9287)
boost state support:
Supported: yes
Active: no
Boost States: 2
Total States: 8
Pstate-Pb0: 2800MHz (boost state)
Pstate-Pb1: 2300MHz (boost state)
Pstate-P0: 1900MHz
Pstate-P1: 1800MHz
Pstate-P2: 1700MHz
Pstate-P3: 1600MHz
Pstate-P4: 1400MHz
Pstate-P5: 900MHz
Plus de tests (exécuté avec le programmateur ondemand et 3 instances de ffmpeg décodant une vidéo H.264 1920x1080 en arrière-plan):
[m132@m132 turbostat]$ Sudo cpupower monitor
[Sudo] password for m132:
|Mperf || Idle_Stats
CPU | C0 | Cx | Freq || POLL | C1 | C2
0| 97,78| 2,22| 1821|| 0,00| 0,00| 0,00
1| 97,84| 2,16| 1821|| 0,00| 0,00| 0,00
2| 99,22| 0,78| 1807|| 0,00| 0,00| 0,00
3| 99,18| 0,82| 1808|| 0,00| 0,00| 0,00
[m132@m132 turbostat]$ Sudo ./turbostat
cor CPU GHz TSC time
1.81 1.90 5**
0 0 1.81 1.90 5**
1 1 1.81 1.90
2 2 1.80 1.90
3 3 1.81 1.90
EDIT: Il semble que les processeurs de la série Trinity possèdent leur propre commutateur BAPM en source. Il se trouve dans drivers/gpu/drm/radeon/trinity_dpm.c et est activé (au moment de la rédaction) uniquement pour les cartes MSI, en raison de problèmes de stabilité. Pour l'activer, ouvrez ce fichier, recherchez cette ligne:
pi->enable_bapm = false;
Remplacez false par true, puis compilez et installez le nouveau noyau. Tu devrais obtenir une panique du noyau stimuler travailler maintenant. N'oubliez pas que la puissance du processeur est également partagée avec le processeur graphique, vous ne pouvez donc presque jamais obtenir la fréquence la plus élevée disponible si le processeur graphique est également utilisé.
[Mise à jour 2015]
À partir de Linux 3.16:
La valeur de bapm
peut être fournie en tant que paramètre de module (voir ici ).
La valeur bapm
est définie par défaut sur 1 pour les systèmes Kaveri, Kabini et Trinity, Richland de bureau (voir ici ), ce qui a pour effet d'activer le Turbo Core.
Ce qui signifie qu'avec le noyau 3.16 ou ultérieur, Turbo Core devrait fonctionner immédiatement avec radeon
dans de nombreux cas.
Si vous utilisez Debian, ou si vous utilisez Ubuntu et que ce qui précède n’est pas vrai, veuillez vous référer à Comment configurer un système Debian (focus sur 2D ou console/serveur) avec un processeur AMD Turbo Core APU pour une efficacité énergétique et informatique maximale?
[Mise à jour 2014-août-07]
J'ai publié un analyse détaillée sur unix-stackexchange.com
qui contient (du moins pour moi) quelques surprises. Tels que le gouverneur ondemand
pourrait être pire que performance
(du moins avec le Richland A10-6700) et fglrx
utilisant apparemment des astuces discutables pour améliorer les boosters à court terme, devant devoir compenser brusquement cela à long terme. Je suis content d'avoir examiné de plus près cela.
[réponse originale]
Je suis en train de configurer un système avec un serveur A10-6700 utilisant Ubuntu 14.04 Server.
cat /proc/cpuinfo
ne reflète pas et ne reflétera aucune accélération du processeur. Le boost est une décision autonome sur la puce basée sur des critères potentiellement complexes. Lisez à ce sujet ici .cpufreq-info
ne montrera pas les fréquences de boost disponibles, mais la sortie de cpupower frequency-info
le sera. Pour l’A10-6700, il devrait indiquer 4300 MHz (Pb0), 4200 MHz (Pb1) et 3900 MHz (Pb2) en plus des fréquences normales 3700, 3400, 2700, 2300 et 1800 MHz.cpufreq-aperf
(après modprobe msr
) est comparable à la sortie de cpupower monitor
. Les fréquences indiquées par ces outils sont supposées refléter les sursauts.radeon
dans le noyau, je n’ai pas réussi à faire en sorte que l’A10-6700 utilise une fréquence d’augmentation (en utilisant stress --cpu 2
).fglrx
chargé dans le noyau, le processeur boostera de manière permanente deux cœurs (et apparemment aussi les cœurs restants temporairement). Ceci a été testé sans que X soit utilisé ou même configuré.Rappelez-vous, la décision pour ou contre le boost est prise par le APU de manière autonome. À ce stade, j’imagine que le APU ne peut pas décider si sa dissipation de puissance actuelle laisse la place à un boost, à moins que l’unité graphique intégrée soit correctement initialisée.
La sortie vidéo avec le module standard diffère de la sortie lorsque fglrx est chargé. Par conséquent, nous ne pouvons que deviner si le noyau peut configurer lui-même le APU dans le mode "intelligent" (supposé être sensible à la perte de puissance) supposé nécessaire, tout en utilisant le module VGA.
En attendant que cela soit réglé, je vais simplement charger fglrx
name__. L'inconvénient est que le construire nécessite beaucoup de choses dont vous ne voulez pas sur un serveur et qui doit être supprimé après la compilation.
De plus, fglrx
a une taille de presque 9 Mo. Ce n’est pas un problème, mais savoir qu’il s’agit principalement de fret mort dans ce cas ne me rend pas trop heureux.
[Edit 2014-juil.-24]
J'ai maintenant rapporté ce bug .
J'ai remarqué qu'un autre bogue a également été signalé: Si en fait vous tilisez fglrx
et essayez d'utiliser le Dynamic Power Management mode.
J'ai le même problème avec mon Thinkpad utilisant le même processeur AMD A8-4500m sur Ubuntu 13.10. J'ai trouvé cela aujourd'hui, mais mon anglais n'est pas très bon, alors je ne l'ai pas compris.
https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt
Puisse-t-il vous être utile.
La principale chose que j’ai trouvée est que le Turbo Core n’est plus supporté depuis la version 11.10. C'est tout ce que j'ai trouvé. Prouvez-moi s'il vous plaît que je me trompe.