CPU vs GPU ทำไมพวกเขาจึงปรับขนาดประสิทธิภาพแตกต่างกัน?

CPU เทียบกับ GPU

มีการวิพากษ์วิจารณ์มากมายและแน่นอนว่าจะมีการเพิ่มขึ้นของประสิทธิภาพในโปรเซสเซอร์พร้อมกับการเปลี่ยนแปลงในแต่ละรุ่น ด้วย อินเทล ที่หางเสือเราได้เห็นว่าความแตกต่างของประสิทธิภาพมีเพียงเล็กน้อยเป็นเวลาหลายปีจนถึงปัจจุบัน ในขณะเดียวกัน GPU ได้ทวีคูณประสิทธิภาพหลายครั้งเป็นไปได้อย่างไรที่สิ่งนี้จะเกิดขึ้นเมื่อเช่นในกรณีของ เอเอ็มดี พวกเขาใช้กระบวนการพิมพ์หินแบบเดียวกันสำหรับโปรเซสเซอร์และกราฟิกการ์ดหรือไม่? มีเหตุผลอะไร?

มีคำอธิบายมากมายสำหรับความแตกต่างที่น่าสงสัยนี้ แต่สิ่งสำคัญและพื้นฐานของทุกสิ่งคือชะตากรรมของฮาร์ดแวร์แต่ละประเภทและวิธีที่ซอฟต์แวร์เข้าใกล้ ด้วยเหตุนี้ช่วงของคำอธิบายจึงเปิดขึ้นและต้องมีการศึกษาอย่างละเอียดมากขึ้นเนื่องจากเราเปลี่ยนจากกระบวนการพิมพ์หินไปเป็นนักพัฒนาซอฟต์แวร์ ...

GPU นั้นล้ำหน้ากว่าซีพียูเสมอ - นี่คือเหตุผล

CPU-VS-GPU

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

และด้วยข้อ จำกัด ของโหนดในการปฏิบัติหน้าที่ การปรับปรุงสถาปัตยกรรมช่วยเพิ่มประสิทธิภาพมากขึ้น Front-End และ Back-End รวมถึงการเข้าถึงแคชและรีจิสเตอร์มักจะเพิ่มประสิทธิภาพ แต่เราไม่สามารถลืมความขนานที่ซีพียูสมัยใหม่เหล่านี้ต้องการได้

หากเราเพิ่มสิ่งที่กล่าวมาทั้งหมดเราจะมีปัญหาคอขวดที่ได้รับตั้งแต่แรกโดยกระบวนการพิมพ์หิน การรวมทรานซิสเตอร์เพิ่มเติมต่อ mm2 นั้นเหมาะสมที่สุดหากคุณต้องการรวมคอร์มากขึ้นและทำให้ประสิทธิภาพโดยรวมเพิ่มขึ้น แต่ในระดับเธรดเราต้องดันเธรดที่ความถี่สูงสุดที่เป็นไปได้ ขณะนี้เราอยู่ที่ 5 GHz กับ Intel ดังนั้นหากมีข้อ จำกัด นี้เราใช้ กฎหมายของ Amdahl (ภาระงานยากที่จะเร่งความเร็วและความซับซ้อนจะซับซ้อนมากขึ้นแม้ว่ามันจะขนานกันก็ตาม) เรามีปัญหาที่อาจเป็นเลขชี้กำลังในงานบางอย่าง

CPU เทียบกับ GPU Tesla

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

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

Super scalarity และ parallelization สำคัญในความแตกต่างระหว่าง CPU และ GPU

CPU เทียบกับ GPU

ซีพียูจำเป็นต้องทำงานที่แตกต่างง่ายและซับซ้อนจำนวนมาก แต่ยังต้องเชื่อมต่อกับส่วนประกอบใด ๆ ของพีซีซึ่งหมายถึงการรับข้อมูลและส่งผ่านบัสที่แตกต่างกันและด้วยความเร็วสูงสุดที่เป็นไปได้ ก GPU ในทางกลับกันมีวิธีการทำงานที่แตกต่างออกไปค่อนข้างง่ายกว่าจริงๆ

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

นักพัฒนาทำงานแตกต่างกันเนื่องจาก GPU มีคอร์มากพอ ๆ กับที่ Shaders รวมซิลิกอนเข้าด้วยกันดังนั้นการขนานจึงทำได้ง่ายมากเพราะสามารถรวมได้ถึง 6912 จริง shaders ไม่มีปัญหามากเกินไป ( NVIDIA A100 ) โดยที่ Shader แต่ละตัวทำหน้าที่เป็นแกนกลางโดยแทบจะไม่ขึ้นกับ CPU

NVIDIA-GPU-กับ-CPU

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

การแลกเปลี่ยนมีความเร็วต่ำลงเนื่องจากลักษณะของสถาปัตยกรรม แต่การขนานนั้นไม่มีใครเทียบได้ดังนั้นจึงง่ายต่อการปรับขนาดประสิทธิภาพด้วย สุดท้ายเราต้องคำนึงถึง กฎหมายของเดนนาร์ด ซึ่งเราได้พูดไปแล้วมากกว่าหนึ่งครั้งและคำนึงถึงประสิทธิภาพเป็นเสาหลักอย่างแม่นยำซึ่งการใช้พลังงานจะถูกเก็บไว้ตามสัดส่วนของพื้นที่ของชิป

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