ถ้าฉันกำลังสร้างคอมพิวเตอร์ฉันควรสนใจรายการใดมากกว่า
จากมุมมองในทางปฏิบัติคุณควรอาจจะจ่ายไม่น้อยให้ความสนใจกับเมนบอร์ดและซีพียูที่ได้รับความยากลำบากญาติของการอัพเกรดเมื่อเทียบกับ GPU หลังจากการซื้อเป็นช่วงเวลาที่เลวร้ายในการค้นพบว่าคุณไม่มีที่ว่างสำหรับ GPU สี่ตัวหรือตัวประมวลผลที่เร็วพอที่จะทำให้พวกเขาไม่ว่าง
คุณควรทราบด้วยว่าประสิทธิภาพของ GPU มีการรายงานบ่อยที่สุดใน FLOP ที่มีความแม่นยำเดียวและลดลงเล็กน้อยสำหรับความแม่นยำสองเท่า หากคุณต้องการความแม่นยำเป็นพิเศษในแบบจำลองของคุณคุณจะได้ความเร็วต่ำกว่าที่โฆษณาไว้
ออกไปแข่งวิศวกรรมซอฟต์แวร์
มีความกังวลหลักสองประการจากมุมมองของซอฟต์แวร์คอขวดของ Von Neumann และโมเดลการเขียนโปรแกรม CPU มีการเข้าถึงหน่วยความจำหลักค่อนข้างดี GPU มีหน่วยความจำที่เร็วกว่าออนบอร์ดจำนวนมาก ไม่ทราบว่าเวลาที่เคลื่อนย้ายข้อมูลเข้าและออกจาก GPU นั้นขัดแย้งกับความเร็วในการชนะอย่างสิ้นเชิง โดยทั่วไปแล้วซีพียูเป็นผู้ชนะสำหรับการคำนวณระดับปานกลางของข้อมูลจำนวนมากในขณะที่ GPU มีการประมวลผลที่ยอดเยี่ยมในจำนวนที่น้อยกว่า ทั้งหมดนี้นำเราไปสู่รูปแบบการเขียนโปรแกรม
ในระดับสูงปัญหาคือการอภิปราย MIMD / SIMD โบราณและเป็นเกียรติ การเรียนการสอนแบบหลายระบบ / หลายข้อมูลเป็นผู้ชนะรายใหญ่ในด้านการคำนวณทั่วไปและเชิงพาณิชย์ ในรุ่นนี้ซึ่งรวมถึง SMP นั้นมีโปรเซสเซอร์หลายตัวแต่ละตัวดำเนินการสตรีมคำสั่งของตัวเอง มันเทียบเท่ากับคอมพิวเตอร์ในครัวฝรั่งเศสที่คุณสั่งพ่อครัวที่มีทักษะจำนวนเล็กน้อยเพื่อทำงานที่ค่อนข้างซับซ้อน
ในทางตรงกันข้ามระบบ Single-Instruction / Multiple-Data คล้ายกับห้องขนาดใหญ่ที่เต็มไปด้วยเสมียนที่ถูกล่ามโซ่ไว้ที่โต๊ะทำงานตามคำแนะนำจากตัวควบคุมหลัก "ทุกคนเพิ่มบรรทัดที่ 3 และ 5!" มันถูกใช้ในรูปแบบที่บริสุทธิ์ใน ILLIAC และบางระบบ "mini-super" แต่หายไปในตลาด GPU ปัจจุบันเป็นลูกพี่ลูกน้องที่ใกล้ชิดพวกมันยืดหยุ่นกว่า แต่ใช้ปรัชญาทั่วไปแบบเดียวกัน
หากต้องการสรุปโดยย่อ:
- สำหรับการทำงานที่กำหนด CPU จะทำงานได้เร็วขึ้นในขณะที่ GPU สามารถทำงานได้หลายอย่างพร้อมกัน ความแตกต่างที่ชัดเจนที่สุดคือ 64- บิตลอย
- แกน CPU สามารถทำงานกับที่อยู่หน่วยความจำใด ๆ ข้อมูลสำหรับ GPU จะต้องบรรจุในพื้นที่ขนาดเล็ก คุณจะชนะก็ต่อเมื่อคุณทำการคำนวณเพียงพอที่จะชดเชยเวลาการโอน
- รหัสหนักในเงื่อนไขโดยทั่วไปจะมีความสุขบน CPU