คำตอบอื่น ๆ ที่นี่ค่อนข้างดี ฉันจะโยนใน 2 เซ็นต์ของฉันเช่นกัน
เหตุผลหนึ่งที่ทำให้ซีพียูแพร่หลายอย่างมากก็คือพวกมันมีความยืดหยุ่น คุณสามารถตั้งโปรแกรมใหม่สำหรับงานที่หลากหลายได้ ทุกวันนี้มันถูกและเร็วกว่าสำหรับ บริษัท ที่ผลิตผลิตภัณฑ์เพื่อติด CPU หรือไมโครคอนโทรลเลอร์ขนาดเล็กในบางสิ่งบางอย่างและโปรแกรมมันทำงานได้ดีกว่าการพัฒนาวงจรที่กำหนดเองเพื่อทำหน้าที่เดียวกัน
ด้วยการใช้อุปกรณ์เดียวกันกับอุปกรณ์อื่นคุณสามารถใช้ประโยชน์จากวิธีแก้ปัญหาที่รู้จักเพื่อแก้ไขปัญหาโดยใช้อุปกรณ์เดียวกัน (หรือคล้ายกัน) และเมื่อแพลตฟอร์มเติบโตขึ้นโซลูชั่นของคุณจะพัฒนาและเติบโตอย่างเต็มที่และมีประสิทธิภาพสูงสุด ผู้คนที่เขียนโค้ดบนอุปกรณ์เหล่านี้ยังได้รับความเชี่ยวชาญและเป็นฝีมือของพวกเขา
หากคุณต้องสร้างประเภทอุปกรณ์ใหม่ตั้งแต่เริ่มต้นบางตัวเลือกแทน GPU มันต้องใช้เวลาหลายปีกว่าที่ผู้ใช้งานในยุคแรก ๆ จะรู้วิธีใช้งานได้ดี หากคุณแนบ ASIC เข้ากับ CPU ของคุณคุณจะเพิ่มประสิทธิภาพการคำนวณการถ่ายลงอุปกรณ์ได้อย่างไร
ชุมชนสถาปัตยกรรมคอมพิวเตอร์นั้นเต็มไปด้วยความคิดนี้มาหลายปีแล้ว (เห็นได้ชัดว่ามันได้รับความนิยมมาก่อน แต่เมื่อเร็ว ๆ นี้ได้เห็นยุคฟื้นฟูศิลปวิทยา) 'ตัวเร่ง' (ระยะเวลา) เหล่านี้มีระดับความสามารถในการโปรแกรมซ้ำที่แตกต่างกัน ปัญหาคือคุณ จำกัด ขอบเขตของปัญหาที่ตัวเร่งความเร็วของคุณสามารถจัดการได้อย่างไร ฉันได้พูดคุยกับบางคนที่ทำงานสร้างเครื่องเร่งความเร็วโดยใช้วงจรแอนะล็อกกับ op-amps เพื่อคำนวณสมการเชิงอนุพันธ์ ความคิดที่ดี แต่ขอบเขตที่แคบมาก
หลังจากที่คุณมีเครื่องเร่งความเร็วการทำงานกองกำลังทางเศรษฐกิจจะตัดสินชะตากรรมของคุณ ความเฉื่อยของตลาดเป็นพลังที่เหลือเชื่อ แม้ว่าบางสิ่งจะเป็นแนวคิดที่ยอดเยี่ยม แต่เป็นไปได้หรือไม่ที่จะปรับโครงสร้างโซลูชันการทำงานของคุณใหม่เพื่อใช้อุปกรณ์ใหม่นี้ อาจจะอาจจะไม่.
GPUs นั้นน่ากลัวมากสำหรับปัญหาบางประเภทผู้คนจำนวนมาก / บริษัท กำลังทำงานบนอุปกรณ์ประเภทอื่น ๆ แต่ GPU มีการยึดติดอยู่แล้วอุปกรณ์ของพวกเขาจะทำงานได้ในเชิงเศรษฐกิจหรือไม่? ฉันเดาว่าเราจะเห็น
แก้ไข: ขยายคำตอบของฉันสักหน่อยตอนนี้ฉันออกจากรถบัส
กรณีศึกษาที่ควรระวังคือโครงการ Intel Larrabee มันเริ่มจากอุปกรณ์ประมวลผลแบบขนานที่สามารถทำกราฟิกในซอฟต์แวร์ มันไม่มีฮาร์ดแวร์กราฟิกพิเศษ ฉันพูดกับคนที่ทำงานในโครงการและเหตุผลสำคัญที่พวกเขาบอกว่ามันล้มเหลวและถูกยกเลิก (นอกเหนือจากการเมืองภายในที่น่ากลัว) คือพวกเขาไม่สามารถรวบรวมคอมไพเลอร์เพื่อสร้างรหัสที่ดีได้ แน่นอนว่ามันผลิตโค้ดที่ใช้งานได้ แต่ถ้าจุดทั้งหมดของผลิตภัณฑ์ของคุณมีประสิทธิภาพสูงสุดคุณควรมีคอมไพเลอร์ที่สร้างโค้ดที่ดีที่สุด สิ่งนี้กลับไปที่ความคิดเห็นก่อนหน้าของฉันเกี่ยวกับการขาดความเชี่ยวชาญในด้านฮาร์ดแวร์และซอฟต์แวร์สำหรับอุปกรณ์ใหม่ของคุณซึ่งเป็นปัญหาใหญ่
องค์ประกอบบางอย่างของการออกแบบ Larrabee ทำให้มันกลายเป็น Xeon Phi / Intel MIC ผลิตภัณฑ์นี้ทำให้มันออกสู่ตลาด มันมุ่งเน้นไปที่การคำนวณแบบขนานทางวิทยาศาสตร์และ HPC อื่น ๆ ทั้งหมด ดูเหมือนความล้มเหลวทางการค้าในขณะนี้ อีกคนที่ฉันพูดด้วยที่ Intel บอกเป็นนัยว่าพวกเขาไม่ใช่ราคา / ประสิทธิภาพที่สามารถแข่งขันกับ GPU ได้
ผู้คนพยายามรวมการสังเคราะห์เชิงตรรกะสำหรับ FPGA เข้ากับคอมไพเลอร์เพื่อให้คุณสามารถสร้างรหัสสำหรับตัวเร่งความเร็ว FPGA ของคุณโดยอัตโนมัติ พวกเขาทำงานได้ไม่ดี
ที่เดียวที่ดูเหมือนจะเป็นดินที่อุดมสมบูรณ์สำหรับตัวเร่งความเร็วหรือทางเลือกอื่นของ GPU คือคลาวด์ การประหยัดจากขนาดที่มีอยู่ใน บริษัท ขนาดใหญ่เหล่านี้เช่น Google, Amazon และ Microsoft ทำให้การลงทุนในรูปแบบการคำนวณทางเลือกคุ้มค่า มีคนพูดถึงหน่วยประมวลผลเทนเซอร์ของ Google แล้ว Microsoft มี FPGA และสิ่งอื่น ๆ ตลอดโครงสร้างพื้นฐาน Bing และ Azure เรื่องเดียวกันกับ Amazon เป็นเรื่องที่สมเหตุสมผลหากขนาดสามารถชดเชยการลงทุนในเวลาเงินและน้ำตาของวิศวกร
โดยสรุปความเชี่ยวชาญมีความขัดแย้งกับสิ่งอื่น ๆ มากมาย (เศรษฐศาสตร์, การกำหนดของแพลตฟอร์ม, ความเชี่ยวชาญด้านวิศวกรรมและอื่น ๆ ) ความเชี่ยวชาญสามารถปรับปรุงประสิทธิภาพของคุณได้อย่างมีนัยสำคัญ แต่จะ จำกัด ขอบเขตการใช้อุปกรณ์ของคุณให้แคบลง คำตอบของฉันมุ่งเน้นไปที่การปฏิเสธมากมาย แต่ความเชี่ยวชาญก็มีประโยชน์มากมายเช่นกัน มันควรได้รับการติดตามและตรวจสอบอย่างแน่นอนและอย่างที่ฉันได้กล่าวไปแล้วหลายกลุ่มกำลังติดตามมันอย่างจริงจัง
ขออภัยแก้ไขอีกครั้ง: ฉันคิดว่าสถานที่ตั้งเริ่มต้นของคุณผิด ฉันเชื่อว่ามันเป็นกรณีที่น้อยกว่าในการค้นหาแหล่งพลังงานเพิ่มเติมของการประมวลผลและอีกกรณีที่ผู้คนตระหนักถึงโอกาส การเขียนโปรแกรมกราฟิกเป็นพีชคณิตเชิงเส้นที่มีน้ำหนักมากมากและ GPU ได้รับการออกแบบมาเพื่อการทำงานทั่วไปอย่างมีประสิทธิภาพเช่นเมทริกซ์ทวีคูณการดำเนินการเวกเตอร์ ฯลฯ การดำเนินการที่ใช้กันทั่วไปในการคำนวณทางวิทยาศาสตร์
ความสนใจใน GPU เริ่มต้นเมื่อผู้คนเริ่มตระหนักว่าสัญญาที่ให้ไว้โดยโครงการ Intel / HP EPIC นั้นเกินเลยไปมาก (ช่วงปลายยุค 90 ต้นปี 2000) ไม่มีวิธีการทั่วไปในการคอมไพเลอร์ขนาน ดังนั้นแทนที่จะพูดว่า "เราจะหาพลังการประมวลผลได้ที่ไหนเราจะลองใช้ GPU" ฉันคิดว่ามันมากกว่า "เรามีบางอย่างที่ดีในการคำนวณแบบขนานเราสามารถทำให้โปรแกรมนี้เป็นแบบปกติ" ผู้คนจำนวนมากที่เกี่ยวข้องอยู่ในชุมชนการคำนวณทางวิทยาศาสตร์ซึ่งมีรหัส Fortran ที่ขนานกันแล้วพวกเขาสามารถเรียกใช้บนเครื่อง Cray หรือ Tera (Tera MTA มีหัวข้อฮาร์ดแวร์ 128 รายการ) บางทีอาจมีการเคลื่อนไหวจากทั้งสองทิศทาง แต่ฉันได้ยินเพียงกล่าวถึงต้นกำเนิดของ GPGPU จากทิศทางนี้