วิธีการเปิดใช้งาน AMD Turbo Core บน Ubuntu 14.04


9

ฉันใช้ Ubuntu 14.04 (3.13.0-24- เคอร์เนลทั่วไป) บนแล็ปท็อปที่ใช้ AMD A8-4500m และฉันเพิ่งสังเกตเห็นว่า AMD Turbo Core ไม่ทำงานเลย ทุกอย่างทำงานได้บน Windows อย่างไรก็ตามบนความถี่ CPU Linux ไม่สามารถผ่านได้ 1.9 GHz (ตรวจสอบด้วยcpufreq-aperf)

นี่คือผลลัพธ์ของcpupower frequency-info, แจ้งเตือนใช้งานอยู่: ไม่สนับสนุนการเพิ่มสถานะ:

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

การทดสอบเพิ่มเติม (วิ่งด้วยตัวกำหนดตารางเวลา ondemand และอินสแตนซ์ 3 ตัวของการถอดรหัส ffmpeg 1920x1080 วิดีโอ H.264 ในพื้นหลัง):

[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

แก้ไข:ดูเหมือนว่าหน่วยประมวลผล Trinity series มีสวิตช์ BAPM เป็นของตัวเองในแหล่งที่มา มันตั้งอยู่ในไดรเวอร์ / gpu / drm / radeon / trinity_dpm.cและเปิดใช้งาน (ในขณะที่เขียน) เฉพาะสำหรับบอร์ด MSI เนื่องจากปัญหาด้านความเสถียร หากต้องการเปิดใช้งานให้เปิดไฟล์นี้ค้นหาบรรทัดนี้:

    pi->enable_bapm = false;

เปลี่ยน false เป็น true จากนั้นรวบรวมและติดตั้งเคอร์เนลใหม่ คุณควรเพิ่มความตื่นตระหนกให้กับเคอร์เนลในขณะนี้ โปรดจำไว้ว่าพลังงานของ CPU นั้นใช้ร่วมกับ GPU ด้วยดังนั้นคุณแทบจะไม่เคยได้รับความถี่สูงสุดหากมีการใช้ GPU


1
แปลกการติดตั้ง fglrx "เรียกใช้" Turbo Core และตอนนี้มันแสดง "ใช้งานอยู่: ใช่" cpufreq-aperfบางครั้งรายงานความถี่ 2GHz แต่ก็ยังไม่เปลี่ยนเป็น 2,3 GHz หรือ 2,8 GHz เหมือนใน Windows
m132

เพียงเพื่อยืนยัน: ฉันมีปัญหาเดียวกันกับ A10-7850K ภายใต้ Fedora w / kernel 3.14.5: รองรับ: ใช่ใช้งาน: ไม่ ดูเหมือนจะไม่เฉพาะเจาะจง distro
Chris

คุณลองปิดการใช้งานการตั้งค่าเคอร์เนล ( nomodesetบนบรรทัดคำสั่งเคอร์เนล) ได้หรือไม่? การแก้ไขปัญหานี้สำหรับฉัน
คริส

1
@Chris ตอนนี้มันแสดงให้เห็นActive: yesแต่ฉันคิดว่าข้อมูลนี้ผิดเพราะไม่มี Pstates ปรากฏขึ้นและcpufreq-aperfยังไม่ได้รายงานความถี่สูงกว่า 1,9 GHz นอกจากนี้ยังบังคับใช้ซอฟต์แวร์ตัวแสดงผล OpenGL สำหรับฉัน
m132

สิ่งที่เกี่ยวกับturbostatหรือcpupower monitor? พวกเขาแสดงให้เห็นถึงการใช้เทอร์โบหรือไม่?
Chris

คำตอบ:


5

[อัพเดทปี 2015]

เริ่มต้นด้วย Linux 3.16:

  • ค่าสำหรับbapmสามารถระบุเป็นพารามิเตอร์โมดูล (ดูที่นี่ )

  • ค่าของการbapmตั้งค่าเป็น 1 โดยค่าเริ่มต้นสำหรับ Kaveri, Kabini และ desktop Trinity, ระบบ Richland (ดูที่นี่ ) ส่งผลให้มีการเปิดใช้งาน Turbo Core

ซึ่งหมายความว่าด้วยเคอร์เนล 3.16 หรือใหม่กว่านั้น Turbo Core ควรทำงานนอกกรอบradeonในหลายกรณี

หากคุณเรียกใช้ Debian หรือหากคุณใช้ Ubuntu และข้างต้นไม่เป็นความจริงสำหรับคุณโปรดดูวิธีการตั้งค่าระบบ Debian (เน้นที่ 2D หรือคอนโซล / เซิร์ฟเวอร์ / เซิร์ฟเวอร์) ด้วย AMD Turbo Core APU เพื่อประสิทธิภาพพลังงานและการประมวลผลสูงสุด ?

[อัพเดท 2014 ถึง ส.ค. -07]

ฉันเผยแพร่การวิเคราะห์โดยละเอียดที่unix-stackexchange.comมี (อย่างน้อยสำหรับฉัน) ที่น่าประหลาดใจ เช่นondemandผู้ว่าราชการจังหวัดอาจจะเลวร้ายยิ่งกว่าperformance(อย่างน้อยกับ Richland A10-6700) และfglrxเห็นได้ชัดว่าใช้เทคนิคที่น่าสงสัยบางอย่างเพื่อปรับปรุงการกระตุ้นระยะสั้นโดยทันทีเพื่อชดเชยในระยะยาว ฉันดีใจที่ฉันได้ดูสิ่งนี้

[คำตอบเดิม]

ฉันอยู่ระหว่างการกำหนดค่าระบบด้วย A10-6700 โดยใช้ Ubuntu 14.04 Server

  • ผลลัพธ์ของcat /proc/cpuinfoไม่และจะไม่สะท้อนการเพิ่มตัวประมวลผลใด ๆ การเพิ่มเป็นการตัดสินใจแบบอิสระบนชิปตามเกณฑ์ที่ซับซ้อน อ่านได้ที่นี่
  • เอาท์พุทของcpufreq-infoจะไม่แสดงความถี่เพิ่มที่มีอยู่ แต่เอาท์พุทของcpupower frequency-infoจะ สำหรับ A10-6700 ควรแสดง 4300 MHz (Pb0), 4200 MHz (Pb1) และ 3900 MHz (Pb2) นอกเหนือจากปกติ 3700, 3400, 2700, 2300 และ 1800 MHz
  • การส่งออกของcpufreq-aperf(หลังmodprobe msr) cpupower monitorก็เปรียบได้กับการส่งออกของ ความถี่ที่แสดงโดยเครื่องมือเหล่านี้ควรสะท้อนการเพิ่มระดับ
  • ด้วยไดรเวอร์วิดีโอมาตรฐานหรือแม้แต่radeonโมดูลในเคอร์เนลฉันไม่ประสบความสำเร็จในการทำให้ A10-6700 ใช้ความถี่บูสต์ (โดยใช้stress --cpu 2)
  • ด้วยfglrxโมดูลATI / AMD ที่โหลดลงในเคอร์เนลโปรเซสเซอร์จะเพิ่มสองคอร์อย่างถาวร (และเห็นได้ชัดว่ายังมีคอร์ที่เหลืออยู่ชั่วคราว) นี่คือการทดสอบโดยไม่ต้องใช้ X หรือกำหนดค่า

โปรดจำไว้ว่าการตัดสินใจสำหรับหรือต่อต้านการส่งเสริมจะทำโดย APU อย่างอิสระ ฉันเดาว่า ณ เวลานี้ APU ไม่สามารถตัดสินใจได้ว่าการกระจายพลังงานในปัจจุบันออกจากห้องเพื่อเพิ่มหรือไม่เว้นแต่หน่วยกราฟิกในตัวจะเริ่มต้นได้อย่างเพียงพอ

เอาต์พุตวิดีโอที่มีโมดูลมาตรฐานแตกต่างจากเอาต์พุตเมื่อโหลด fglrx ดังนั้นเราสามารถเดาได้ว่าเคอร์เนลสามารถใส่ APU ลงในโหมด "สมาร์ท" (การสูญเสียพลังงาน) ที่ต้องการได้ด้วยตัวเองหรือไม่ในขณะที่ยังใช้โมดูล VGA อยู่

fglrxจนกว่าจะถึงนี้ได้รับการแยกออกผมก็จะโหลด ข้อเสียคือการสร้างมันต้องมีหลายสิ่งที่คุณไม่ต้องการบนเซิร์ฟเวอร์และที่จะต้องถูกลบหลังจากการรวบรวม

นอกจากนี้ยังfglrxมีขนาดเกือบ 9 MB มันไม่ใช่ปัญหา แต่รู้ว่าการขนส่งสินค้าส่วนใหญ่ที่ตายแล้วในกรณีนี้ไม่ได้ทำให้ฉันมีความสุขมาก

[แก้ไข 2014-Jul-24]

ตอนนี้ฉันรายงานข้อผิดพลาดนี้

ฉันสังเกตเห็นข้อผิดพลาดอื่นที่ได้รับรายงานด้วย: หากในความเป็นจริงคุณใช้fglrxและลองใช้โหมดการจัดการพลังงานแบบไดนามิก


ขอบคุณสำหรับข้อมูล. ฉันจะคอมไพล์เคอร์เนลใหม่ที่มี BAPM เปิดใช้งานตามข้อเสนอแนะเกี่ยวกับการรายงานข้อผิดพลาดที่ 2 เพื่อดูว่ามันทำให้ความแตกต่างใด ๆ :)
M132

ดูเหมือนว่า BAPM ถูกเปิดใช้งานโดยค่าเริ่มต้นบนเคอร์เนล 3.16 อย่างน้อยสำหรับฉันการอัปเกรดไม่สามารถแก้ไขปัญหานี้ได้ อย่างไรก็ตามการปิดการใช้งาน DPM ฉันได้รับความถี่ที่สูงกว่า 1.8 GHz แต่แล็ปท็อปของฉันเริ่มร้อนเกินไปและ จำกัด ความเร็วของ CPU ที่ 1.1 GHz ดังนั้นประสิทธิภาพจึงแย่ลง
m132

@ M132 เศร้า ถึงกระนั้นก็มีส่วนทำให้เกิดความสงสัย - คุณเห็นพฤติกรรมเดียวกันกับ Windows หรือไม่ - คุณสามารถควบคุมอิทธิพลของพัดลมได้หรือไม่? - เป็นเรื่องน่าอายที่ผู้ผลิตไม่เห็นด้วยกับ AMD ดีพอ - TurboBoost เป็นคุณสมบัติปกติภายในขอบเขตของ TDP
เรียกใช้ CMD

ฉันไม่สามารถทดสอบได้ในขณะนี้เพราะฉันลบ Windows เพื่อสร้างพาร์ติชันแยกต่างหากสำหรับ / home ฉันไม่รู้เกี่ยวกับแฟน ๆ แต่ฉันจำได้ว่า Task Manager แสดงความถี่ซีพียู 2,3 GHz ดังนั้น TurboBoost ก็ทำงานได้และมันก็ไม่ร้อนเกินไป DPM ก็ทำงานเช่นกัน
m132

ขอบคุณที่ความเห็นของเมื่อวานนี้เกี่ยวกับปัญหาที่คุณรายงานไปในที่สุดฉันก็ใช้งานได้! อ่านคำถามเพื่อดูรายละเอียด: D
m132

2

ฉันมีปัญหาเดียวกันกับ Thinkpad ที่ใช้ AMD A8-4500m เดียวกันบน Ubuntu 13.10 ฉันพบสิ่งนี้วันนี้ แต่ภาษาอังกฤษของฉันไม่ค่อยดีนักดังนั้นฉันจึงไม่เข้าใจ

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

อาจเป็นประโยชน์สำหรับคุณ

จุดเริ่มต้นหลักที่ฉันพบคือ Turbo Core ไม่ได้รับการสนับสนุนตั้งแต่ 11.10 นั่นคือทั้งหมดที่ฉันพบ โปรดพิสูจน์ว่าฉันผิด


1
ลิงก์นี้จะอธิบายว่า Turbo Boost / Core คืออะไรและเปิดใช้งาน / ปิดใช้งานอย่างไร แต่ในกรณีของฉัน / sys / อุปกรณ์ / ระบบ / cpu / cpufreq / boost เป็น 1 แล้ว (เปิดใช้งาน)
m132

ไม่มีที่ใดที่ระบุว่าไม่รองรับ TurboCore ตรงกันข้ามเป็นกรณี ความคิดเห็นโดย @ M132 ถูกต้อง
เรียกใช้ CMD
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.