ฉันมี 2 เครื่องที่เหมือนกันกับฮาร์ดแวร์ ในนั้นฉันมี 1 Debian และ 1 บิลด์ที่กำหนดเองที่มีอิมเมจ buildroot linux
ปัญหาที่ฉันพบคือ:
สำหรับแอปพลิเคชันของฉันฉันได้รับประสิทธิภาพ 2x ประมาณสองเท่าในเครื่อง Debian ที่เกี่ยวข้องกับเครื่องสร้างภาพที่กำหนดเอง
ฉันพยายามที่จะเข้าใจสิ่งที่อาจทำให้เกิดความแตกต่างนี้
เวอร์ชั่น cuda คือ 7.5
เวอร์ชั่นของไดรเวอร์คือ:
Debian: 361.28
กำหนดเอง: 367.27
ข้อมูลบางอย่างที่อาจเกี่ยวข้อง:
ถ้าฉันเรียกใช้ DeviceQuery (จากตัวอย่าง cuda) บนเครื่องทั้งสองผลลัพธ์เกือบจะเหมือนกัน แต่ไม่เหมือนกัน:
ความแตกต่างที่ 1 อยู่ในสาย:
นี่คือ Debian:
จำนวนหน่วยความจำส่วนกลางทั้งหมด: 3069 MBytes
และ สิ่งนี้ใช้สำหรับกำหนดเอง:
จำนวนหน่วยความจำรวมทั้งหมด: 3008 MBytes
(แม้ว่าฉันสงสัยว่าความแตกต่างนี้อาจทำให้เกิดความแตกต่างด้านประสิทธิภาพที่กล่าวถึง)
ความแตกต่างอื่น ๆ คือ:
Debian:
จำกัด เวลารันบนเมล็ด: ใช่
กำหนดเอง:
จำกัด เวลาเรียกใช้บนเมล็ด : ไม่
(มี X server ในทั้งสองระบบ แต่ใน Custom กำหนดว่าเป็น barebones X ที่มี twm)
ถ้าฉันรันแบนด์วิดท์ทดสอบจากตัวอย่างผลลัพธ์จะเหมือนกันมากสำหรับ Host to Device Bandwidth, 1 อุปกรณ์และ Device to Host Bandwidth, 1 อุปกรณ์ แต่อาจแตกต่างกันอย่างมากสำหรับ Device to Device Bandwidth, 1 อุปกรณ์
ดังนั้นสำหรับค่ารายการสุดท้ายบน Debian อยู่ในพื้นที่ 100k MB / s (แม้ว่าบางครั้งมันจะลดลงเหลือประมาณ 63k)
สำหรับ Custom มันจะอยู่ในระดับ 63k อย่างสม่ำเสมอ
ฉันจะดีใจถ้าคุณสามารถช่วยฉันด้วยคำแนะนำเกี่ยวกับสิ่งที่ฉันควรตรวจสอบเพิ่มเติมและสิ่งที่อาจเป็นปัญหา
ขอขอบคุณ!
UPD:
ฉันได้ลองใช้เซิร์ฟเวอร์ X บนระบบที่กำหนดเองโดยใช้ nvidia (การรัน X ด้วย intel จะไม่ส่งผลกระทบต่อความสมบูรณ์แบบในทางที่สังเกตได้) มันยังไม่เริ่มต้นเต็มที่ แต่ก็ไม่ล้มเหลว
ข้อเท็จจริงที่น่าสนใจ - ถ้าฉันเริ่มต้นแอปพลิเคชันของฉันเมื่อ X อยู่ในสถานะเริ่มครึ่งนี้ - ประสิทธิภาพลดลงมากขึ้น (ลดลงมากกว่า 4x จาก Debian ทั้งหมด)
อัปเดต2 : ฉันเพิ่งลองอัปเดตเป็น CUDA 8 บนเครื่องที่กำหนดเอง - ยังไม่ได้เปลี่ยนสถานการณ์ที่อธิบายไว้
Upd3 : http://cuda-z.sourceforge.net/ แสดง 2x หรือมากกว่านั้นในระบบ Custom สำหรับการทำงานทุกประเภทที่สามารถวัดได้ (และเกือบ 2 เท่าสำหรับการคัดลอกหน่วยความจำอุปกรณ์)