سؤال لماذا يستخدم الأشخاص وحدات معالجة الرسومات لإجراء عمليات حسابية عالية الأداء بدلاً من شريحة أكثر تخصصًا؟


من خلال فهمي ، بدأ الناس باستخدام وحدات معالجة الرسومات للحوسبة العامة لأنها مصدر إضافي لقوة الحوسبة. وعلى الرغم من أنها ليست سريعة مثل وحدة المعالجة المركزية لكل عملية ، إلا أنها تمتلك العديد من النوى ، لذا يمكن تكييفها بشكل أفضل للمعالجة المتوازية مقارنة بوحدة المعالجة المركزية. هذا أمر منطقي إذا كنت تملك بالفعل جهاز كمبيوتر صادف أن لديك GPU لمعالجة الرسومات ، ولكنك لا تحتاج إلى الرسومات ، وتريد المزيد من الطاقة الحسابية. لكنني أفهم أيضًا أن الأشخاص يشترون وحدات معالجة الرسومات على وجه التحديد لإضافة قوة الحوسبة ، مع عدم وجود نية لاستخدامها في معالجة الرسومات. بالنسبة لي ، يبدو هذا مماثلاً للتشابه التالي:

أحتاج أن أقطع حشيش ، لكن جزازي العشب هو جبان. لذلك أقوم بإزالة القفص من مروحة الصندوق التي أحتفظ بها في غرفة نومي وصقل الشفرات. أنا شريط لاصق إلى جزازي ، وأجد أنه يعمل بشكل معقول. بعد سنوات ، أنا مسؤول المشتريات في شركة كبيرة لرعاية الأعشاب. لدي ميزانية كبيرة لإنفاقها على الأدوات الحشائشية. بدلا من شراء ماكينات جز العشب ، أشتري مجموعة من المراوح. مرة أخرى ، تعمل بشكل جيد ، ولكن لا بد لي من دفع ثمن أجزاء إضافية (مثل القفص) التي لن ينتهي باستخدام. (لأغراض هذا التشبيه ، يجب أن نفترض أن جزات العشب ومراوح المربعات تكلف نفسها تقريبا)

فلماذا لا يوجد سوق لشريحة أو جهاز يحتوي على طاقة معالجة لوحدة معالجة الرسومات ، ولكن ليس في مجال رسوم الرسومات؟ أستطيع التفكير في بعض التفسيرات المحتملة. أي منها ، إن وجد ، صحيح؟

  • مثل هذا البديل سيكون مكلفًا جدًا عندما يكون GPU بالفعل خيارًا جيدًا (لا توجد ماكينات جز العشب ، فلماذا لا تستخدم هذه المروحة بشكل جيد؟).
  • تشير حقيقة أن "G" تشير إلى الرسومات إلى الاستخدام المقصود فقط ، ولا تعني حقاً أن أي جهد يتم إجراؤه في جعل الشريحة تتكيف بشكل أفضل مع معالجة الرسومات أكثر من أي نوع آخر من العمل (جزازة العشب ومراوح الصندوق هي الشيء نفسه عندما تحصل عليه مباشرة ؛ لا توجد تعديلات ضرورية للحصول على وظيفة واحدة مثل الأخرى.
  • تحمل وحدات معالجة الرسوم (GPU) الحديثة نفس اسم أسلافها القديمة ، ولكن هذه الأيام لا يتم تصميمها خصيصًا للتعامل مع الرسومات بشكل خاص (تم تصميم مراوح الصندوق الحديثة للعمل في الغالب كجزازات في الحديقة ، حتى لو لم تكن قديمة).
  • من السهل أن تترجم إلى حد كبير أي مشكلة في لغة معالجة الرسومات (يمكن قطع العشب عن طريق نفخ الهواء بسرعة كبيرة).

تصحيح:

تم الإجابة عن سؤالي ، ولكن استنادًا إلى بعض التعليقات والأجوبة ، أشعر أنه ينبغي علي توضيح سؤالي. أنا لا أسأل لماذا الجميع لا يشتري حساباتهم الخاصة. من الواضح أن هذا سيكون مكلفًا جدًا في معظم الأوقات.

لقد لاحظت ببساطة أنه يبدو أن هناك طلبًا على الأجهزة التي يمكنها إجراء حسابات متوازية بسرعة. كنت أتساءل لماذا يبدو أن هذا الجهاز الأمثل هو وحدة معالجة الرسومات ، في مقابل جهاز مصمم لهذا الغرض.


104
2018-06-05 03:06


الأصل


لأنهم هي المتخصصة لهذا النوع من الأشياء ؛ انها في الأساس نفس النوع من الرياضيات. وقد قامت شركة nVidia ببناء وبيع لوحات GPU فقط للأشخاص للقيام بهذا النوع من الطحن المتوازي على نطاق واسع. - Heptite
ضع في اعتبارك أن لدينا "وحدات" متخصصة تضاف إلى رقائق البطاطس. يتم إجراء AES في الأجهزة (على ما أظن) على وحدات المعالجة المركزية. يتم تنفيذ AVX في الأجهزة أيضا. ومع ذلك ، أين تتوقف؟ لا تعرف Chipmaker ما تحتاجه ومعظم الناس لا يملكون القدرات (التقنية أو المالية) للحصول على رقائق خاصة بهم مصممة لمهام محددة للغاية. بطاقات الرسومات - كما يقال الآخر - نوع واحد من الهندسة المعمارية المتخصصة ، مما يفسح المجال لمهام معينة. فهي ليست جيدة لكل شيء - ولكن لمهام محددة معينة وبالتالي تستخدم هناك. - DetlevCM
ومن شأن القياس الأكثر دقة أن يحل محل مراوح الصندوق المزودة بمزارع زراعية بعرض 100 متر. - MooseBoys
جهاز الكمبيوتر الخاص بي لديه بالفعل جاهز للاستخدام GPU ، حيث إن تصميم وإنتاج شريحة مخصصة ستعيدني إلى بضعة ملايين. - PlasmaHH
حاول تشبيه آخر. لنفترض أن لدينا مراوح بوكس ​​، ولدينا دوارات هليكوبتر. في عالمنا الافتراضي ، تحتاج تطبيقات مراوح الصندوق إلى مراوح أكبر تدريجيًا تعمل بسرعات أعلى ، إلى أن انتهى بنا المطاف ب 20 مليون من مراوح صندوق ألياف الكربون ، وجعلها الإنتاج الضخم رخيصًا. ثم أدرك شخص ما أن مروحة 20 متر مربع هي في الأساس مجرد طائرة هليكوبتر مع قفص حولها. هو حقا مماثل. - Graham


الأجوبة:


انها حقا مجموعة من جميع التفسيرات الخاصة بك. أرخص وأسهل ، موجود بالفعل ، وتحول التصميم بعيداً عن الرسومات النقية.


يمكن أن ينظر إلى GPU الحديثة على أنها في المقام الأول معالجات تيار مع بعض أجهزة الرسومات الإضافية (وبعض المسرعات ذات الوظيفة الثابتة ، على سبيل المثال ، لفك التشفير وفك الفيديو). GPGPU برمجة هذه الأيام يستخدم واجهات برمجة التطبيقات مصممة خصيصا لهذا الغرض (OpenCL ، Nvidia CUDA ، AMD APP).

خلال العقد أو العقدين الأخيرين ، تطورت وحدات معالجة الرسوميات من خط أنابيب ذو وظيفة ثابتة (رسومات كثيرة فقط) إلى خط أنابيب قابل للبرمجة (تظليل تمكنك من كتابة تعليمات مخصصة) إلى واجهات برمجة تطبيقات أكثر حداثة مثل OpenCL التي توفر وصولاً مباشراً إلى مراكز shader بدون خط أنابيب الرسومات المرافق.

وحدات البت الرسومات المتبقية طفيفة. إنهم جزء صغير من تكلفة البطاقة لدرجة أنها ليست أقل تكلفة من تركها ، وتتحمل تكلفة تصميم إضافي. لذلك لا يتم ذلك عادة - لا يوجد مكافئ للحوسبة لمعظم وحدات معالجة الرسوميات - باستثناء المستويات الأعلى ، وتلك مكلفة للغاية.

عادة ما يتم استخدام وحدات معالجة الرسوميات "الألعاب" العادية نظرًا لأن اقتصادات الحجم والبساطة النسبية تجعلها رخيصة وسهلة الاستخدام. إنه مسار سهل إلى حد ما من برمجة الرسومات لتسريع البرامج الأخرى باستخدام GPGPU. من السهل أيضًا ترقية الأجهزة حيث تتوفر منتجات أحدث وأسرع ، بخلاف الخيارات الأخرى.


أساسا ، الخيارات تنزل إلى:

  • وحدة المعالجة المركزية ذات الأغراض العامة ، رائعة للفروع والمتتابعة
  • عادي "الألعاب" GPU
  • GPU-based compute-oriented، e.g. نفيديا تسلا و راديون غريزة هذه في كثير من الأحيان لا تدعم إخراج الرسومات على الإطلاق ، لذلك فإن GPU عبارة عن تسمية خاطئة. ومع ذلك ، فإنها تستخدم نوى GPU مشابهة لوحدات معالجة الرسوم العادية و كود OpenCL / CUDA / APP محمول بشكل أو بآخر.
  • FPGAs ، التي تستخدم نموذج برمجة مختلفًا جدًا وتميل إلى أن تكون مكلفة للغاية. هذا هو المكان الذي يوجد حاجز كبير أمام الدخول. كما أنها ليست بالضرورة أسرع من GPU ، اعتمادًا على حجم العمل.
  • ASICs ، دوائر مصممة خصيصا (الأجهزة). هذا أمر مكلف للغاية ، ولا يستحق ذلك إلا بتكلفة قصوى (نحن نتحدث عدة آلاف من الوحدات ، على أقل تقدير) ، وحيث أنت متأكد من أن البرنامج لن يحتاج أبدًا إلى التغيير. فهي نادرا ما تكون مجدية في العالم الحقيقي. سيتعين عليك أيضًا إعادة تصميم واختبار البرنامج بأكمله في كل مرة تتطور فيها التقنية - لا يمكنك تبديل المعالج الجديد كما هو الحال مع وحدات المعالجة المركزية ووحدات معالجة الرسومات.

109
2018-06-05 04:10



ASICs أيضا منطقي عندما الحوسبة يدفع حرفيا لنفسها (التعدين التشفير) - ratchet freak
في الواقع ، غالبا ما تكون FPGA أسوأ من GPU. المشكلة هي أن FPGA هي مرنة للغاية. يمكنهم تنفيذ العديد من العمليات المختلفة. ومع ذلك ، الحساب بشكل عام هو شكل من أشكال الرياضيات ، وفي الواقع الجزء الأكبر هو مجرد عمليتين: الجمع والضرب (الطرح والقسمة من المتغيرات المذكورة أعلاه). GPU هي جيدة جدا في هاتين العمليتين ، أكثر بكثير من FPGA. - MSalters
تحتاج إلى توضيح المزيد حول FPGA. فكرة أن هناك "خطوة للأعلى" هي مضللة بعض الشيء. هم أكثر من خطوة جانبية. - Yakk
كمثال على آخر واحد ، لدى Google "وحدات معالجة Tensor" الخاصة بها للتعلم الآلي. إلى أي درجة يتم تخصيصها غير واضح ، ولكن يتم وصفها بأنها ASICs. - mbrig
MSalters واحدة من نقاط البيع الرئيسية لـ FPGAs عبر GPU هي الأداء / Watt ، الذي يزداد أهمية مع بدء مراكز البيانات في الوصول إلى جدار الطاقة (تكون FPGA بشكل عام أكثر كفاءة في استهلاك الطاقة). بقدر ما الرياضيات ، FPGAs يمكن مقارنتها GPU في حساب النقطة الثابتة والأعداد الصحيحة ، وفقط متخلفا في الرياضيات نقطة العائمة. - wilcroft


التشبيه المفضل لدي:

  • وحدة المعالجة المركزية: عبقري Polymath. يمكن القيام بشيء أو شيئين في وقت واحد ولكن هذه الأشياء يمكن أن تكون معقدة للغاية.
  • GPU: طن من العمال ذوي المهارات المنخفضة. كل واحد منهم لا يمكن أن يفعل مشاكل كبيرة جدا ، ولكن في كتلة يمكنك الحصول على الكثير القيام به. إلى سؤالك ، نعم هناك بعض الرسومات العامة ولكن أعتقد أنه هامشي.
  • ASIC / FPGA: شركة. يمكنك استئجار طن من العمال ذوي المهارات المنخفضة أو اثنين من العباقرة ، أو مزيج من العمال ذوي المهارات المنخفضة والعباقرة.

يعتمد ما تستخدمه على حساسية التكلفة ، ومدى قابلية المهمة للتوازي ، وعوامل أخرى. بسبب الطريقة السوق قد لعبت بها، وحدات معالجة الرسومات هي الخيار الأفضل بالنسبة لمعظم التطبيقات موازية للغاية وحدات المعالجة المركزية هي أفضل خيار عندما الطاقة وتكلفة الوحدة هي الاهتمامات الأساسية.

مباشرة لسؤالك: لماذا GPU على ASIC / FPGA؟ التكلفة بشكل عام. حتى مع أسعار GPU المتضخمة اليوم ، فإنه لا يزال (عموما) أرخص لاستخدام GPU من تصميم ASIC لتلبية احتياجاتك. كما يشير @ user912264 ، هناك مهام محددة يمكن أن تكون مفيدة ل ASICs / FPGAs. إذا كان لديك مهمة فريدة من نوعها وسوف تستفيد من الحجم ، فقد يكون من المفيد تصميم ASIC / FPGA. في الواقع ، يمكنك تصميم / شراء / ترخيص تصاميم FPGA خصيصا لهذا الغرض. يتم ذلك لتشغيل وحدات البكسل في أجهزة التلفزيون عالية الوضوح على سبيل المثال.


32
2018-06-05 16:28



التعليقات ليست للإجابة على أي حال ، وهذا يبدو وكأنه إجابة معقولة بالنسبة لي. - Raimund Krämer
BobtheMogicMoose ولكن قد يكون من المرات بسرعة أكبر استخدام FPGA مخصصة مصممة للتحليل الجينومي من الحصول على رمز مكافئ في GPU. عندما تدفع للعلماء الجلوس في انتظار النتائج ، فإن أسرع FPGA يدفع لنفسه بسرعة كبيرة. - user912264
FPGAs يمكن الوصول إلى الكثير من المطور العام أيضا - مايكروسوفت على سبيل المثال سحابة حل الذكاء الاصطناعي باستخدام FPGAs (مشروع BrainWave). AWS لديها بعض العروض كذلك. يمكن لأي شخص استئجار بعض FPGAs مخصصة للمهام المتخصصة دون الاضطرار إلى بنائه بنفسه ، وليس ممكنا لكثير من حالات الاستخدام حتى قبل بضع سنوات. - brichins
نعم ، أعتقد أن هناك مجموعات هواية FPGA يمكن مقارنتها بتورد arduino-pi. ما زلت أعتقد أن البرمجة FPGA هي أكثر تكلفة بكثير من البنى الأكثر تطوراً. - BobtheMagicMoose


التشبيه الخاص بك هو سيء. في القياس ، عندما كنت شراء معدات لرعاية كبيرة في حديقة الأعشاب ، أنت افترض هناك جيدة ماكينات جز العشب المتاحة. هذه ليست الحالة في عالم الحوسبة - إن وحدات معالجة الرسوم هي أفضل أداة متاحة بسهولة.

من المحتمل أن تكون تكاليف البحث والتطوير ومكاسب الأداء المحتملة لشريحة متخصصة مرتفعة للغاية بحيث لا يمكن تبريرها.

وقال، وأنا على بينة من نفيديا اخماد بعض وحدات معالجة الرسومات خصيصا لالحوسبة للأغراض العامة - لم يكن لديهم إخراج الفيديو - قليلا مثل بيع المشجعين مربع مع أقفاص إزالتها بالفعل.


10
2018-06-05 16:06





بالطبع ، يمكنك استخدام شرائح متخصصة ، سواء من أجل كفاءة استخدام الطاقة أو سرعة الحساب. اسمحوا لي أن أقول لكم تاريخ التعدين بيتكوين:

  • Bitcoin هو جديد ، المهوسون الألغام مع وحدات المعالجة المركزية الخاصة بهم.
  • بيتكوين هي جديدة إلى حد ما ، المهوسون الذكية الألغام مع GPUs الخاصة بهم.
  • Bitcoin الآن (kinda) مشهور ، يشتري الناس FPGAs.
  • Bitcoin مشهورة الآن (2013) ، حتى newbies تشتري ASICs ("تطبيق الدوائر المتكاملة التطبيقية") لإزالة الألغام بكفاءة.
  • قطرات مكافأة المكافأة (بشكل دوري) ، حتى أسيك القديمة ليست مربحة بعد الآن.

لذا لا ، لا توجد أسباب لاستخدام GPU بدلاً من "آلة حاسبة عملاقة" متخصصة. وكلما كانت الحوافز الاقتصادية أكبر ، كلما أصبحت الأجهزة أكثر تخصصًا. ومع ذلك ، يصعب تصميمها وتصنيعها إذا لم تكن تنتج الآلاف دفعة واحدة. إذا لم يكن من الممكن تصميم شرائح ، يمكنك شراء واحدة من أولئك من أقرب وول مارت.

TL، DR بالطبع يمكنك استخدام رقائق أكثر تخصصًا.


9
2018-06-05 12:52



"بالطبع يمكنك استخدام المزيد من الرقاقات المتخصصة" - ولكن هناك رقائق متخصصة للبيتكوين (SHA-256) ، ثم بالنسبة إلى litecoin (scrypt) وهذا إلى حد كبير. لا توجد أجهزة حاسوبية عالية الأداء لمشاكل أخرى. (وهذا هو ، مع أداء أعلى من GPUs الراقية الحالية) - Agent_L


ما تصفه في القياس هو بالضبط ما حدث. تماما كما كنت أمسك المعجبين بك وشحذ الشفرات في محاولة لاستخدامه بمثابة جزازة، مجموعة من الأبحاث حققت "مهلا، لدينا بعض وحدة المعالجة متعددة النوى لطيفة جدا هنا، دعونا نحاول استخدامها لحسابات للأغراض العامة! ".

كانت النتيجة جيدة وبدأت الكرة تتدحرج. انتقلت وحدة معالجة الرسوميات من جهاز الرسومات فقط لدعم حساب الأغراض العامة للمساعدة في المواقف الأكثر تطلبًا.

لأنه على أي حال ، فإن العملية التي تتطلب الكثير من العمليات الحسابية والتي نتوقعها من أجهزة الكمبيوتر هي الرسومات. بما فيه الكفاية لإلقاء نظرة على التقدم المذهل لكيفية تبدو الألعاب اليوم مقارنة بكيفية فعلها قبل بضع سنوات فقط. وهذا يعني أن الكثير من الجهد والمال قد ذهب إلى تطوير وحدات معالجة الرسومات، وحقيقة أنها يمكن أن تستخدم أيضا لتسريع فئة معينة من الحساب لأغراض عامة (أي موازية للغاية) أضفته إلى شعبيتها.

في الختام ، التفسير الأول الذي تقدمه هو الأكثر دقة:

  • مثل هذا البديل سيكون مكلفًا جدًا عندما يكون GPU بالفعل خيارًا جيدًا.

GPUs حيث هناك بالفعل ، فهي متاحة بسهولة للجميع وعملهم.


8
2018-06-05 06:53



لا بد لي من أن أختلف حول "العملية الأكثر تطلبا حسابيا" كونها رسومات ، اعتمادا على بالطبع على من "نحن". للمستخدمين العامين ، نعم ، ولكن في مجتمع العلوم والهندسة ، هناك أشياء كثيرة أكثر تطلبًا من الرسومات. بعد كل شيء ، يمكن القيام بالرسومات المقبولة (مثل الألعاب) باستخدام مجموعة واحدة من أجهزة الكمبيوتر الشخصية ووحدات معالجة الرسوميات. غالباً ما تجمع المشاكل الهامة مئات أو آلاف من هذه الوحدات للحصول على الأداء في نطاق بيتافلوب - ومن ثم قد تستغرق المشاكل أيامًا أو أسابيع من وقت الحساب. - jamesqf
العملية الأكثر تطلبا من الناحية الحسابية أتوقع من جهاز الكمبيوتر الخاص بي فنياالرسومات ، ولكن حسابات البنية-من-الحركة ليست ما يفكر معظم الناس (أو مصممي GPU) عند سماع كلمة "الرسومات". - Mark


وعلى وجه التحديد ، لا تكون وحدات معالجة الرسوم (GPU) "قلوب" بالمعنى المقصود بـ "parallelism". بالنسبة للجزء الأكبر ، هو في شكل "توازي البيانات". SIMD هو "واحد متعدد بيانات التعليمات". ما يعنيه هذا هو أنك لن تفعل هذا:

for parallel i in range(0,1024): c[i] = a[i] * b[i]

هذا يعني أن لديك 1024 تعليمات كل تنفيذ مهام منفصلة تتقدم بمعدلات مختلفة. سوف تقوم SIMD أو "الحوسبة الموجهة" بتنفيذ التعليمات عبر جميع المصفوفات كلها مرة واحدة ، أكثر مثل:

c = a * b

توجد "حلقات" في "*" و "=" تعليمات ، بدلاً من خارج الإرشادات. ما سبق أن يفعل هذا لجميع عناصر 1024 في نفس الوقت ، في مؤشر التعليمات SAME لجميعهم. الأمر يشبه وجود ثلاثة سجلات ضخمة لـ a و b و c. إن كود SIMD مقيَّد للغاية ، ولا يعمل إلا بشكل جيد مع المشاكل التي لا تكون مفرطة في الفروع.

في الحالات الواقعية ، لا تكون قيم SIMD هذه كبيرة تمامًا مثل 1024 عنصرًا. تخيل متغيرًا هو مجموعة من int32 مرتبطة ببعضها البعض. يمكنك التفكير في الضرب وتعيين كتعليمات آلة حقيقية.

int32_x64 c; int32_x64 b; int32_x64 a; c = b * a;

وحدات معالجة الرسومات الحقيقية أكثر تعقيدًا من SIMD ، ولكن هذا هو جوهرها. هذا هو السبب في أنك لا يمكن فقط رمي خوارزمية وحدة المعالجة المركزية عشوائية على وحدة معالجة الرسومات ونتوقع تسريع. كلما ازدادت التعليمات المتفرعة للخوارزمية ، كان أقل ملاءمة لوحدة معالجة الرسومات.


5
2018-06-05 21:51





الإجابات الأخرى هنا جيدة. أنا رمي في بلدي سنتا كذلك.

أحد الأسباب التي جعلت وحدات المعالجة المركزية منتشرة إلى حد كبير هي أنها مرنة. يمكنك إعادة برمجتها لمجموعة لا نهائية من المهام. في هذه الأيام يكون أرخص وأسرع بالنسبة للشركات التي تنتج المنتجات أن تلتصق بوحدة المعالجة المركزية الصغيرة أو الميكروكونترولر في شيء وتقوم ببرمجة وظيفتها بدلاً من تطوير الدوائر المخصصة للقيام بالمهمة نفسها.

باستخدام نفس الجهاز مثل الآخرين ، يمكنك الاستفادة من الحلول المعروفة للمشاكل التي تستخدم نفس الجهاز (أو ما شابه). ومع نضوج المنصة ، تتطور حلولك وتصبح ناضجة للغاية ومُحسّنة. كما يكتسب الأشخاص الذين يتم ترميزهم على هذه الأجهزة الخبرة ويصبحوا جيدًا جدًا في مهنتهم.

إذا كنت ستقوم بإنشاء نوع جهاز جديد من الصفر ، وهو بديل عن وحدة معالجة الرسوميات ، فإن الأمر سيستغرق سنوات حتى أول المتبنين ليتمكنوا بالفعل من معرفة كيفية استخدامها. إذا قمت بإرفاق ASIC بوحدة المعالجة المركزية الخاصة بك ، كيف يمكنك تحسين عملية إلغاء التحميل على هذا الجهاز؟

لقد كان مجتمع هندسة الحاسبات مضطربًا لهذه الفكرة لعدة سنوات (من الواضح أنها كانت شائعة من قبل ، ولكنها شهدت في الآونة الأخيرة نهضة). هذه "المسرِّعات" (مصطلحها) لها درجات متفاوتة من إعادة البرمجة. تكمن المشكلة في مدى ضيق نطاق تحديد نطاق المشكلة التي يمكن أن يعالجها مُعجِّلك؟ لقد تحدثت حتى مع بعض الأشخاص الذين كانوا يعملون على إنشاء مسرع باستخدام الدوائر التناظرية مع op-أمبير لحساب المعادلات التفاضلية. فكرة عظيمة ، ولكن نطاق ضيق للغاية.

بعد أن يكون لديك مسرع عمل ، فإن القوى الاقتصادية ستقرر مصيرك. سوق القصور الذاتي هو قوة لا تصدق. حتى إذا كان شيء ما فكرة رائعة ، فهل من المجدي اقتصاديًا إعادة صياغة حلول العمل الخاصة بك لاستخدام هذا الجهاز الجديد؟ ممكن و ممكن لا.

وحدات معالجة الرسومات رهيبة في الواقع لأنواع معينة من المشاكل ، لذلك الكثير من الأشخاص / الشركات يعملون على أنواع أخرى من الأجهزة. لكن وحدات معالجة الرسوم (GPUs) موطدة بالفعل ، فهل ستصبح أجهزتها قابلة للحياة من الناحية الاقتصادية؟ أعتقد سنرى.

تحرير: التوسع في إجابتي قليلاً ، الآن بعد أن أكون خارج الحافلة.

دراسة حالة تحذيرية هي مشروع إنتل لارابي. بدأت كجهاز معالجة متوازي يمكن أن يعمل رسومات في البرامج ؛ لم يكن لديها أجهزة رسومات متخصصة. لقد تحدثت مع شخص عمل في المشروع ، وكان السبب الرئيسي الذي جعلهم يقولون أنه فشل وتم إلغاؤه (إلى جانب السياسات الداخلية الفظيعة) هو أنهم لم يتمكنوا من الحصول على مترجم لإنتاج رمز جيد له. وبالطبع ، أنتجت شفرة العمل ، ولكن إذا كانت النقطة الكاملة لمنتجك هي الحد الأقصى من الأداء ، فمن الأفضل أن يكون لديك مترجم ينتج كودًا مثاليًا. هذا يعود إلى تعليقي السابق حول عدم وجود خبرة عميقة في كل من الأجهزة والبرمجيات لجهازك الجديد الذي يمثل مشكلة كبيرة.

بعض عناصر تصميم Larrabee جعله في Xeon Phi / Intel MIC. هذا المنتج جعله بالفعل في السوق. كان يركز تماما على موازاة الحسابات العلمية وغيرها من نوع HPC. يبدو أنه فشل تجاري الآن. شخص آخر تحدثت معه في شركة إنتل ضمنيًا أنها لم تكن منافسة في السعر / الأداء مع وحدات معالجة الرسوم.

لقد حاول الأشخاص دمج توليف منطقي لـ FPGA في مترجمات ، بحيث يمكنك إنشاء رمز لمسرعات FPGA تلقائيًا. انهم لا يعملون بشكل جيد.

المكان الذي يبدو أنه تربة خصبة حقا للمسرعات ، أو بدائل أخرى لوحدات معالجة الرسومات ، هو السحابة. إن اقتصاد الحجم الموجود في هذه الشركات الكبيرة مثل غوغل وأمازون ومايكروسوفت يجعل الاستثمار في مخططات حساب بديلة جديرة بالاهتمام. ذكر أحدهم بالفعل وحدات معالجة موترات Google. لدى Microsoft FPGA وغيرها من الأشياء في جميع أنحاء بنيتها التحتية Bing و Azure. نفس القصة مع الأمازون. من المنطقي تمامًا إذا كان المقياس يمكن أن يقابل استثماراتك في الوقت والمال والدموع الهندسية.

باختصار ، يختلف التخصص عن الكثير من الأمور الأخرى (الاقتصاد ، نضج المنصة ، الخبرة الهندسية ، إلخ). يمكن أن يعمل التخصص على تحسين أدائك بشكل كبير ، ولكنه يضيق نطاق تطبيق جهازك. ركز إجابتي على الكثير من السلبيات ، ولكن التخصص له الكثير من الفوائد أيضًا. وينبغي متابعة التحقيق والتحقيق فيه على نحو مطلق ، وكما ذكرت ، فإن العديد من الجماعات تسعى وراءه بقوة شديدة.

عذرا ، تحرير مرة أخرى: أعتقد أن فرضيتك الأولية خاطئة. أعتقد أنه كان أقل من البحث عن مصادر إضافية لقوة الحوسبة ، وأكثر من ذلك حالة من الناس الذين يدركون فرصة. إن برمجة الرسومات جبرية خطية جدًا ، وقد تم تصميم وحدة معالجة الرسوم لإجراء عمليات شائعة بكفاءة مثل عمليات تكاثر المصفوفات وعمليات المتجهات ، إلخ. العمليات التي هي أيضًا شائعة جدًا للحوسبة العلمية.

بدأ الاهتمام في وحدات معالجة الرسوميات (GPU) في الوقت الذي أدرك فيه الناس أن الوعود التي قدمها مشروع إنتل / HP EPIC كانت مبالغة بشكل كبير (أواخر التسعينات في أوائل عام 2000). لم يكن هناك حل عام للتوازي المجمع. فبدلاً من القول "أين نجد مزيدًا من القدرة على المعالجة ، أوه يمكن أن نحاول GPU" ، أعتقد أنه كان أكثر "لدينا شيء جيد في الحسابات الموازية ، يمكننا جعل هذا البرنامج قابلاً للبرمجة بشكل عام". كان الكثير من الأشخاص المعنيين في مجتمع الحوسبة العلمية ، الذين لديهم بالفعل كود فورتران موازي يمكن تشغيله على ماكينات كراي أو تيرا (تيرا MTA كان 128 خيوط الأجهزة). ربما كانت هناك حركة من كلا الاتجاهين ، لكنني سمعت فقط ذكر أصول GPGPU من هذا الاتجاه.


5
2018-06-06 00:51



من خلال "المسرِّعات" هل تشير إلى أجهزة مخصصة أو مجموعات فائقة من عقد الحوسبة منخفضة الطاقة؟ يمكنك وضع من خلال توفير إشارة إلى بعض الأجهزة سبيل المثال مسرع. - manav m-n
آسف ، اعتقدت أنني أوضحت ذلك من السياق. مسرع هو مجرد مصطلح شامل لبطاقة المعالج أو تفريغ البطاقة. كانت النقطة العائمة في الأصل في المعالج الثانوي وليس وحدة المعالجة المركزية الرئيسية ، وكان يمكن اعتبار مسرع. GPUs و DSPs و Xeon Phi و FPGAs عندما يكونوا على بطاقة PCIe أو ما شابه ذلك ، الشيء المعادلة التفاضلية التناظرية التي ذكرتها ، هناك أجهزة تساعد في المحاكاة الافتراضية ، فهناك بحث حالي في مسرعات الشبكات العصبية. هذه كلها أمثلة على المسرعات. - NerdPirate


enter image description here

ASIC (السيليكون المخصص) سريع جدًا ، ولكنه مكلف جدًا لتصميمه وتصنيعه. كانت ASIC تستخدم لغرض محدد ، وكانت وحدة المعالجة المركزية عبارة عن طريقة واحدة تسمح لأجهزة الكمبيوتر "برمجتها" بحيث يمكن تنفيذ المهام الحوسبية بواسطة البرامج. أعطت وحدة المعالجة المركزية في وقت مبكر الناس القدرة على الاستفادة من قوة ASIC دون تكلفة ضخمة من خلال برمجة الشريحة في هذا المجال. أصبح هذا النهج ناجحًا جدًا لدرجة أنه أدى إلى ظهور الكمبيوتر السريع جدًا جدًا الذي تستخدمه الآن.

فلماذا GPUs؟

في منتصف التسعينيات ، أدركت 3DFX أن مهام العرض ثلاثي الأبعاد كانت محددة بحيث أن أداء ASIC المخصص أفضل بكثير من وحدة المعالجة المركزية. لقد أنشأوا معالجًا مشتركًا للكمبيوتر قاموا بتفريغ مهام العرض ثلاثي الأبعاد من وحدة المعالجة المركزية إلى المعالج المشترك ، والذي أطلقوا عليه اسم "GPU". قاد الطلب على المنافسة والسوق الابتكار في هذا المجال إلى نقطة حيث كان أداء GPU حسابات أسرع بكثير من وحدة المعالجة المركزية ، لذلك نشأ السؤال ، "لماذا لا يمكنني استخدام GPU لأعداد الأرقام الخاصة بي بدلاً من وحدة المعالجة المركزية؟" رأى مصنعو GPU طلبًا وطريقة لتحقيق المزيد من الأموال ، لذلك بدأوا في تغيير الأنظمة الأساسية للسماح للمطورين باستخدام أجهزتهم. ولكن الأجهزة كانت محددة الغرض لهذا الغرض ، وكانت هناك قيود في ما يمكنك أن تطلب من GPU القيام به. لن أخوض في التفاصيل حول لماذا هنا.

فلماذا لم يكن هناك المزيد من السيليكون الغرض؟ لماذا جست جرافيكس؟

سببين: 1) السعر. كان لدى GPU سوق جيدة ، ويمكن أن يبرر ذلك ، ولكن حتى في ذلك الوقت ، كان خطرًا كبيرًا. لا أحد يعرف حقا ما إذا كان بإمكان برنامج 3DFX تحقيق ربح (تبين أنه لم يستطع فعل ذلك فعلاً ، وذهب بعيداً). حتى الآن ، مع حجم سوق GPU ، هناك ثلاثة منافسين فقط. 2) كانت وحدات المعالجة المركزية (CPUs) تلبي فعليًا الحاجة إلى "السيليكون المخصص" مع إضافات التعليمات. اعتقد مرة أخرى إلى MMX - كان هذا في الواقع محاولة إنتل لتسريع الرسومات في وحدة المعالجة المركزية حق كما كان 3DFX تكتسب السرعة. منذ ذلك الحين ، نمت مجموعة التعليمات x 86 إلى أن تكون ضخمة جدا مع كل هذه الملحقات المخصصة. العديد من هذه الإضافات كانت منطقية في ذلك الوقت (مثل MMX) ، ولكنها أصبحت في الغالب مجرد ثقيل في المعالج الآن. لا يمكنك إزالتها ، رغم ذلك ، لأنه بعد ذلك يكسر البرنامج الحالي. انها في الواقع واحدة من نقاط البيع ل ARM - ARM هو مجموعة تعليمات أسفل. ليس هناك الكثير من ملحقات التعليمات ، ولكن هذا يجعل السيليكون أصغر وأرخص لتصنيعه.

يبدو لي وكأنه يمكن أن تجعل الكثير من المال إذا كنت يمكن أن تقلل من تكلفة السيليكون المخصصة. أليس أي شخص يعمل على هذا؟

هناك تقنية تسمى FPGA - مصفوفة بوابة قابلة للبرمجة ، كانت موجودة منذ الأيام الأولى للحوسبة. انها في جوهرها رقاقة يمكنك تصميم "في هذا المجال" باستخدام البرنامج. إنها تقنية رائعة للغاية ، ولكن كل البنية اللازمة لجعل رقاقة قابلة للبرمجة تأخذ الكثير من السليكون وتتسبب في تشغيل الرقائق بسرعات منخفضة على مدار الساعة. يمكن أن يكون FPGA أسرع من وحدة المعالجة المركزية ، إذا كان لديك ما يكفي من السليكون على الرقاقة ويمكن بشكل فعال موازاة المهمة. ولكنها محدودة في مقدار المنطق الذي يمكنك وضعه عليها. كانت كل البطاريات FPGA الأكثر غلاءً إلا أبطأ من GPU لتعدين Bitcoin المبكر ، لكن نظيراتها ASIC انتهت بفعالية من ربح تعدين GPUs. وقد استخدمت cryptocurrencies أخرى خوارزميات محددة لا يمكن موازية ، لذلك FPGA و ASIC ليست أفضل بما فيه الكفاية من وحدة المعالجة المركزية ووحدات معالجة الرسومات لتبرير التكلفة.

المحدد الرئيسي مع FPGA هو حجم السليكون - ما مقدار المنطق الذي يمكنك وضعه على الشريحة؟ والثاني هو سرعة الساعة ، لأنه من الصعب تحسين أشياء مثل النقاط الساخنة ، والتسرب ، والتحدث في FPGA. لقد قللت طرق التصنيع الحديثة من هذه المشكلات ، و لقد تعاونت Intel مع Altera لتوفير FPGA التي يمكن استخدامها من قبل المهندسين للاستفادة من مزايا "السيليكون المخصص" كمعالج مشترك في الخادم. إذن فهي تأتي ، بمعنى ما.

هل سيتم استبدال FPGA على الإطلاق بوحدة المعالجة المركزية ووحدة معالجة الرسومات؟

ربما ليس في أي وقت قريب. أحدث وحدات المعالجة المركزية ووحدات معالجة الرسومات هي MASSIVE والسيليكون شديد الضبط للأداء الحراري والكهربائي. لا يمكنك تحسين FPGA بنفس الطريقة التي يمكنك بها ASIC مخصص. باستثناء بعض التقنيات الرائدة ، من المرجح أن تظل وحدة المعالجة المركزية جوهر جهاز الكمبيوتر الخاص بك مع معالجات FPGA و GPU.


4
2018-06-09 01:30



العديد من هذه الإضافات كانت منطقية في ذلك الوقت (مثل MMX) ، ولكنها أصبحت في الغالب مجرد ثقيل في المعالج الآن.  تقديم 3D هو بعيدا من حالة الاستخدام الوحيدة ل SIMD. معظم "الوزن" لـ MMX هو وحدات التنفيذ ، ويمكن مشاركتها مع ناقلات أوسع مثل SSE2 و AVX2 و AVX512. وهي تستخدم بكثافة لترميز الفيديو عالي الجودة على وحدات المعالجة المركزية والعديد من المهام الأخرى ، بما في ذلك الحوسبة عالية الأداء. ولكن أيضا تطبيقات المكتبة من memchr ، strlen ، والكثير من الأشياء الأخرى. مثلا تصفية صفيف أكثر من عنصر واحد في كل مرة - Peter Cordes