Bagaimana cara mengaktifkan AMD Turbo Core di Ubuntu 14.04?

9

Saya menggunakan Ubuntu 14.04 (3.13.0-24-kernel generik) pada laptop berbasis AMD A8-4500m, dan saya baru-baru ini memperhatikan, bahwa AMD Turbo Core tidak berfungsi sama sekali. Semuanya berfungsi pada Windows, namun, di Linux, frekuensi CPU tidak dapat melampaui 1,9 GHz (diperiksa dengan cpufreq-aperf).

Berikut ini adalah output dari cpupower frequency-info, pemberitahuan Active: tidak ada dukungan negara bagian 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

Lebih banyak tes (dijalankan dengan penjadwal ondemand dan 3 contoh decoding ffmpeg 1920x1080 video H.264 di latar belakang):

[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: Sepertinya prosesor seri Trinity memiliki sumber BAPM-nya sendiri. Itu terletak di driver / gpu / drm / radeon / trinity_dpm.c dan itu (pada saat penulisan) diaktifkan hanya untuk papan MSI, karena masalah stabilitas. Untuk mengaktifkannya, buka file ini, cari baris ini:

    pi->enable_bapm = false;

Ubah false menjadi true, lalu kompilasi dan instal kernel baru. Anda seharusnya mendapatkan dorongan panik kernel berfungsi sekarang. Perlu diingat bahwa daya CPU juga dibagikan dengan GPU, sehingga Anda hampir tidak akan pernah mendapatkan frekuensi tertinggi yang tersedia jika GPU juga digunakan.

m132
sumber
1
Aneh, menginstal fglrx "diaktifkan" Turbo Core, dan sekarang ini menunjukkan "Aktif: ya". cpufreq-aperfterkadang melaporkan frekuensi 2GHz, tetapi masih tidak beralih ke 2,3 GHz atau 2,8 GHz, seperti pada Windows.
m132
Hanya untuk mengonfirmasi: Saya mengalami masalah yang sama dengan A10-7850K di bawah Fedora w / kernel 3.14.5: Didukung: ya, Aktif: tidak. Tampaknya tidak spesifik distro.
Chris
Bisakah Anda mencoba menonaktifkan pengaturan mode kernel ( nomodesetpada baris perintah kernel)? Ini memperbaiki masalah ini untuk saya.
Chris
1
@ Chris Sekarang ini menunjukkan Active: yes, tapi saya berasumsi bahwa info ini salah, karena tidak ada Pstate yang ditampilkan dan cpufreq-aperfmasih tidak melaporkan frekuensi lebih tinggi dari 1,9 GHz. Juga memaksa saya menggunakan perangkat lunak OpenGL renderer untuk saya.
m132
Bagaimana dengan turbostatatau cpupower monitor? Apakah mereka menunjukkan turbo sedang digunakan?
Chris

Jawaban:

5

[Perbarui 2015]

Dimulai dengan Linux 3.16:

  • Nilai untuk bapmdapat diberikan sebagai parameter modul (lihat di sini ).

  • Nilai bapmdiatur ke 1 secara default untuk Kaveri, Kabini dan desktop Trinity, sistem Richland (lihat di sini ), yang mengakibatkan Turbo Core diaktifkan.

Yang berarti bahwa dengan Kernel 3.16 atau lebih baru, Turbo Core harusnya berfungsi langsung dengan radeonbanyak kasus.

Jika Anda menjalankan Debian, atau jika Anda menjalankan Ubuntu dan hal di atas tidak benar untuk Anda, lihat Cara mengatur sistem Debian (fokus pada 2D atau konsol / server) dengan AMD Turbo Core APU untuk energi maksimum dan efisiensi komputasi ?

[Pembaruan 2014-Agustus-07]

Saya menerbitkan analisis terperinciunix-stackexchange.com yang berisi (setidaknya bagi saya) beberapa kejutan. Seperti ondemandgubernur yang berpotensi menjadi lebih buruk daripada performance(setidaknya dengan Richland A10-6700) dan fglrxtampaknya menggunakan beberapa trik yang dipertanyakan untuk meningkatkan dorongan jangka pendek, tiba-tiba harus mengkompensasi itu dalam jangka panjang. Saya senang saya melihat lebih dekat pada ini.

[Jawaban Asli]

Saya sedang dalam proses mengkonfigurasi sistem dengan A10-6700 menggunakan Ubuntu 14.04 Server.

  • Output cat /proc/cpuinfotidak, dan tidak akan, mencerminkan peningkatan prosesor apa pun. Dorongan adalah keputusan otonom pada chip berdasarkan pada kriteria yang mungkin kompleks. Baca tentang ini di sini .
  • Output cpufreq-infotidak akan menampilkan frekuensi boost yang tersedia, tetapi output cpupower frequency-infoakan. Untuk A10-6700, itu harus menunjukkan 4300 MHz (Pb0), 4200 MHz (Pb1) dan 3900 MHz (Pb2) selain biasa 3700, 3400, 2700, 2300 dan 1800 MHz.
  • Output dari cpufreq-aperf(setelah modprobe msr) sebanding dengan output dari cpupower monitor. Frekuensi yang ditunjukkan oleh alat-alat ini seharusnya mencerminkan peningkatan.
  • Dengan driver video standar atau bahkan radeonmodul di kernel, saya tidak berhasil mendapatkan A10-6700 untuk menggunakan frekuensi boost (menggunakan stress --cpu 2).
  • Dengan fglrxmodul ATI / AMD dimuat ke dalam kernel, prosesor akan meningkatkan dua core secara permanen (dan tampaknya juga core yang tersisa sementara). Ini diuji tanpa X sedang digunakan atau bahkan dikonfigurasi.

Ingat, keputusan untuk atau menentang dorongan dibuat oleh APU secara mandiri. Dugaan saya pada titik waktu ini adalah bahwa APU tidak dapat memutuskan apakah disipasi daya saat ini memberikan ruang untuk dorongan kecuali jika unit grafis terintegrasi diinisialisasi secara memadai.

Output video dengan modul standar berbeda dari output ketika fglrx dimuat. Oleh karena itu, kita hanya dapat menebak apakah kernel dapat menempatkan APU ke dalam mode "smart" (power loss aware) yang mungkin diperlukan dengan sendirinya, sementara masih menggunakan modul VGA.

Sampai ini diselesaikan, saya hanya akan memuat fglrx. The downside adalah bahwa membangun itu membutuhkan banyak hal yang tidak Anda inginkan di server dan yang perlu dihapus setelah kompilasi.

Juga, fglrxhampir 9 MB. Ini bukan masalah tetapi mengetahui bahwa itu sebagian besar barang mati dalam hal ini tidak membuat saya terlalu senang.

[Edit 2014-Jul-24]

Saya sekarang melaporkan bug ini .

Saya perhatikan ada bug lain yang telah dilaporkan: Jika sebenarnya Anda menggunakan fglrxdan mencoba menggunakan mode Dynamic Power Management .

Jalankan CMD
sumber
Terimakasih atas infonya. Saya akan mengkompilasi kernel baru dengan BAPM diaktifkan, seperti yang disarankan pada laporan bug ke-2, untuk melihat apakah ada bedanya :)
m132
Sepertinya BAPM diaktifkan secara default pada kernel 3.16. Setidaknya bagi saya, peningkatan tidak memperbaiki masalah ini. Namun, menonaktifkan DPM berfungsi, saya mendapatkan frekuensi di atas 1,8 GHz, tetapi kemudian laptop saya mulai terlalu panas, dan membatasi kecepatan CPU menjadi 1,1 GHz, sehingga kinerjanya bahkan lebih buruk.
m132
@ M132 Menyedihkan. Namun, hal itu berkontribusi pada kecurigaan. - Apakah Anda melihat perilaku yang sama dengan Windows? - Bisakah Anda memengaruhi kontrol kipas? - Sayang sekali bahwa pabrikan itu tampaknya tidak bekerja sama dengan AMD dengan cukup baik - TurboBoost adalah fitur reguler dalam lingkup TDP.
Jalankan CMD
Saya tidak dapat menguji sekarang, karena saya menghapus Windows untuk membuat partisi terpisah untuk / home. Saya tidak tahu tentang penggemar, tapi saya ingat Task Manager, menunjukkan frekuensi CPU 2,3 GHz, jadi TurboBoost berfungsi, dan tidak terlalu panas, jadi DPM juga berfungsi.
m132
Berkat komentar kemarin tentang masalah yang Anda laporkan, akhirnya saya berhasil! Baca pertanyaan untuk detail: D
m132
2

Saya memiliki masalah yang sama dengan Thinkpad saya yang menjalankan AMD A8-4500m yang sama di Ubuntu 13.10. Saya menemukan ini hari ini, tetapi bahasa Inggris saya tidak begitu bagus, jadi saya tidak memahaminya.

https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt

Semoga bermanfaat bagi Anda.

Awal utama yang saya temukan adalah, bahwa Turbo Core tidak didukung sejak 11.10. Hanya itu yang saya temukan. Tolong buktikan bahwa saya salah.

Mojo Jojo
sumber
1
Tautan ini hanya menjelaskan apa itu Turbo Boost / Core dan cara mengaktifkan / menonaktifkannya, tetapi dalam kasus saya / sys / devices / system / cpu / cpufreq / boost sudah 1 (diaktifkan).
m132
Tidak disebutkan di mana pun bahwa TurboCore tidak didukung. Yang terjadi adalah sebaliknya. Komentar oleh @ M132 benar.
Jalankan CMD