الأخبار

وداعًا للرسومات: كيف هيمنت وحدات معالجة الرسومات على الذكاء الاصطناعي والحوسبة

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

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

في البداية حكمت وحدات المعالجة المركزية كل شيء
لنبدأ بالعودة إلى أواخر التسعينيات. كان عالم الحوسبة عالية الأداء، سواء بالنسبة للمساعي العلمية باستخدام أجهزة الكمبيوتر العملاقة، أو معالجة البيانات على الخوادم القياسية، أو مهام الهندسة والتصميم في محطات العمل، يعتمد كليًا على نوعين من وحدات المعالجة المركزية - المعالجات المتخصصة التي تم إنشاؤها لغرض واحد أو خارج - شرائح الرف من AMD أو IBM أو Intel.

خذ ASCI Red، على سبيل المثال. في عام 1997، كان أحد أقوى أجهزة الكمبيوتر العملاقة، حيث كان يضم 9632 وحدة معالجة مركزية Intel Pentium II Overdrive (أدناه). مع كل وحدة تعمل عند 333 ميجاهرتز، تفاخر النظام بأداء حوسبة ذروة نظريًا يزيد قليلاً عن 3.2 TFLOPS (تريليون عملية فاصلة عائمة في الثانية).
نظرًا لأننا سنشير إلى هذا المقياس كثيرًا في هذه المقالة، فمن الجدير قضاء بعض الوقت لشرح ما يعنيه. في علوم الكمبيوتر، تعتبر النقاط العائمة، أو العائمة للاختصار، قيم بيانات تمثل قيمًا غير صحيحة، مثل 6.2815 أو 0.0044. تُستخدم القيم الكاملة، المعروفة باسم الأعداد الصحيحة، بشكل متكرر لإجراء العمليات الحسابية اللازمة للتحكم في جهاز الكمبيوتر وأي برنامج يعمل عليه.

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

تمتلك وحدات المعالجة المركزية دوائر منفصلة لتنفيذ العمليات المنطقية على الأعداد الصحيحة والعوامات لعدة عقود. في حالة Pentium II Overdrive المذكورة أعلاه، يمكن أن تؤدي عملية تعويم أساسية واحدة (مضاعفة أو إضافة) لكل دورة ساعة. من الناحية النظرية، هذا هو السبب في أن ASCI Red كان لديه ذروة أداء النقطة العائمة من 9632 وحدة معالجة مركزية × 333 مليون دورة ساعة × عملية / دورة واحدة = 3207456 مليون فلوبس.

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

تفاخرت أجهزة الكمبيوتر العملاقة الأخرى بأعداد مماثلة من المعالجات القياسية- استخدمت Blue Pacific في مختبر لورانس ليفرمور الوطني 5808 شريحة PowerPC 604e من IBM، بينما احتوت Blue Mountain التابعة لمختبر Los Alamos الوطني (أعلاه) على 6144 MIPS Technologies R1000s.

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

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

SIMD يدخل المعركة: MMX، 3DNow! و SSE
في عام 1997، قامت إنتل بتحديث سلسلة Pentium الأصلية من وحدات المعالجة المركزية بتقنية تسمى MMX- وهي مجموعة من التعليمات التي استخدمت ثمانية سجلات إضافية داخل النواة. تم تصميم كل واحد لتخزين ما بين واحد إلى أربع قيم صحيحة. سمح هذا النظام للمعالج بتنفيذ تعليمات واحدة عبر أرقام متعددة في وقت واحد، وهو نهج معروف بشكل أفضل باسم SIMD (تعليمات فردية، بيانات متعددة).

بعد عام، قدمت AMD نسختها الخاصة، والتي تسمى 3DNow !. كان متفوقًا بشكل ملحوظ، حيث يمكن للسجلات تخزين قيم الفاصلة العائمة. استغرق الأمر عامًا آخر قبل أن تعالج Intel هذه المشكلة في MMX، مع إدخال SSE (ملحقات دفق SIMD) في شريحة Pentium III الخاصة بها.
 

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

كان هذا صحيحًا أيضًا بالنسبة لمعالج آخر سريع الانتشار أفضل في عمل SIMD من أي وحدة معالجة مركزية من AMD أو Intel - GPU.

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

كانت أفضل بطاقات الرسومات المخصصة للمستهلكين منذ أكثر من 20 عامًا، مثل Voodoo5 5500 من 3dfx و GeForce 2 Ultra من Nvidia، من أجهزة SIMD المتميزة. ومع ذلك، فقد تم إنشاؤها لإنتاج رسومات ثلاثية الأبعاد للألعاب ولا شيء غير ذلك. حتى البطاقات في السوق الاحترافية كانت تركز فقط على العرض.
 

تحتوي ATI FireGL 3 من ATI بقيمة 2000 دولار على شريحتين من IBM (محرك هندسي GT1000 و RC1000 rasterizer)، و 128 ميجا بايت من DDR-SDRAM، و 30 GFLOPS من قوة المعالجة. ولكن كل ذلك كان لتسريع الرسومات في برامج مثل 3D Studio Max و AutoCAD، باستخدام OpenGL rendering API.

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

كان أول معالج ATI's R300، والذي يحتوي على 8 خطوط أنابيب منفصلة، ويتعامل مع جميع الرياضيات بدقة 24 بت للفاصلة العائمة. لسوء الحظ، لم تكن هناك طريقة لتسخير هذه القوة لأي شيء آخر غير الرسومات - كانت الأجهزة والبرامج المرتبطة بها تتمحور حول الصورة بالكامل.

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

عهد جديد من التوحيد (Unification)
في نوفمبر 2005، ظهر Xbox 360 من Microsoft على الرفوف، ويضم وحدة معالجة مركزية تم تصميمها وتصنيعها بواسطة IBM بناءً على بنية PowerPC القياسية الخاصة بها، ووحدة معالجة الرسومات (GPU) المصممة بواسطة ATI والمصنعة بواسطة TMSC. كانت شريحة الرسومات هذه، التي تحمل الاسم الرمزي Xenos)، خاصة لأن تصميمها تجنب تمامًا النهج الكلاسيكي لخطوط أنابيب منفصلة للرأس والبكسل.
 
 
في مكانهم كان هناك مجموعة ثلاثية من صفائف SIMD. على وجه التحديد، تتكون كل مجموعة من 16 معالجًا متجهًا، يحتوي كل منها على خمس وحدات حسابية. مكّن هذا التخطيط كل مصفوفة من تنفيذ تعليمتين متتاليتين من مؤشر ترابط، لكل دورة، على 80 قيمة بيانات فاصلة عائمة في وقت واحد.

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

مع سرعة ساعة تبلغ 500 ميجاهرتز، يمكن للمجموعة بأكملها أن تحقق نظريًا معدل معالجة يبلغ 240 GFLOPS (500 × 16 × 80 × 2) لثلاثة خيوط لأمر مضاعفة ثم إضافة. لإعطاء هذا الرقم بعض الإحساس بالحجم، فإن بعض أفضل أجهزة الكمبيوتر العملاقة في العالم قبل عقد من الزمان لم تتمكن من مطابقة هذه السرعة.

على سبيل المثال، فإن aragon XP / S140 في مختبرات سانديا الوطنية، مع 3،680 وحدة معالجة مركزية Intel i860، كان ذروة 184 GFLOPS. كان عمر هذه الآلة بالفعل بضع سنوات بحلول عام 1995، وتجاوزت وتيرة تطوير الرقاقة بسرعة، ولكن الأمر نفسه ينطبق على وحدة معالجة الرسومات.

كانت وحدات المعالجة المركزية (CPU) تدمج صفيفات SIMD الخاصة بها لعدة سنوات - على سبيل المثال، كان لدى Intel Pentium MMX الأصلي وحدة مخصصة لتنفيذ التعليمات على ناقل، تشمل ما يصل إلى ثمانية أعداد صحيحة 8 بت. بحلول الوقت الذي تم فيه استخدام Xenos في المنازل في جميع أنحاء العالم، تضاعف حجم هذه الوحدات على الأقل، لكنها كانت لا تزال صغيرة مقارنة بتلك الموجودة في Xenos.
 

عندما بدأت بطاقات الرسومات الخاصة بالمستهلكين في تقديم وحدات معالجة الرسومات مع بنية تظليل موحدة، فقد تفاخروا بالفعل بمعدل معالجة أعلى بشكل ملحوظ من شريحة رسومات Xbox 360. Nvidia's G80 (أعلاه)، كما هو مستخدم في 2006 GeForce 8800 GTX، كان له ذروة نظرية قدرها 346 GLFOPS، و ATI's R600 في 2007 Radeon HD 2900 XT تفاخر بـ 476 GLFOPS.

استفاد كلا المصنّعين بسرعة من قوة الحوسبة هذه في نماذجهم الاحترافية. بينما كان سعرها باهظًا، كان ATI's FireGL V8650 و Nvidia's Tesla C870 مناسبين تمامًا لأجهزة الكمبيوتر العلمية المتطورة. ومع ذلك، على أعلى مستوى، استمرت أجهزة الكمبيوتر العملاقة في جميع أنحاء العالم في الاعتماد فقط على وحدات المعالجة المركزية القياسية. في الواقع، سوف تمر عدة سنوات قبل أن تبدأ وحدات معالجة الرسومات في الظهور في أقوى الأنظمة.

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

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

جعلت HLSL (لغة تظليل المستوى الأعلى) من Microsoft، ومكتبة Nvidia's Cg، و GLSL من OpenGL من السهل الوصول إلى قدرة المعالجة لشريحة رسومات، على الرغم من أنها محض العرض.
 

كل ذلك تغير مع وحدات معالجة الرسومات الموحدة للبنية التظليل. في عام 2006، أصدرت ATI (التي كانت شركة تابعة لـ AMD آنذاك) و Nvidia مجموعة أدوات برمجية تهدف إلى تعريض هذه القوة لأكثر من مجرد رسومات، مع واجهات برمجة التطبيقات الخاصة بهم المسماة CTM (بالقرب من المعدن) و CUDA (Compute Unified Device Architecture)، على التوالي.

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

في عام 2009، تم تلبية احتياجاتهم. تم تطوير OpenCL في الأصل بواسطة Apple، وتم إصداره بواسطة Khronos Group (التي استوعبت OpenGL قبل بضع سنوات) لتكون منصة برمجية فعلية لاستخدام وحدات معالجة الرسومات خارج الرسومات اليومية أو كما كان الحقل معروفًا بعد ذلك، GPGPU (للأغراض العامة) الحوسبة على وحدات معالجة الرسومات، وهو مصطلح صاغه مارك هاريس).

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

ظهرت الإدخالات الأولى التي تحتوي على وحدات معالجة الرسومات في عام 2010، مع نظامين في الصين - Nebulae و Tianhe-1. استخدموا بطاقات Nvidia's Tesla C2050 (بشكل أساسي GeForce GTX 470 أدناه) وبطاقات AMD's Radeon HD 4870 على التوالي، حيث تتميز الأولى بذروة نظرية تبلغ 2984 TFLOPS.
 

خلال هذه الأيام الأولى من GPGPU المتطور، كانت Nvidia هي البائع المفضل لتجهيز عملاق الحوسبة، ليس بسبب الأداء - لأن بطاقات Radeon من AMD تقدم عادةً درجة أعلى من أداء المعالجة - ولكن بسبب دعم البرامج. خضعت CUDA لتطور سريع، وسوف تمر بضع سنوات قبل أن يكون لدى AMD بديل مناسب، مما يشجع المستخدمين على استخدام OpenCL بدلاً من ذلك.

ومع ذلك، لم تهيمن Nvidia بالكامل على السوق، حيث حاول معالج Xeon Phi من Intel اقتطاع مكان. انبثقت هذه الرقائق الضخمة من مشروع GPU المجهض المسمى Larrabee، وكانت عبارة عن هجين غريب لوحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU)، وتتألف من عدة نوى تشبه Pentium (جزء وحدة المعالجة المركزية) مقترنة بوحدات عائمة كبيرة (جزء GPU).

يكشف فحص الأجزاء الداخلية لـ Tesla C2050 عن 14 كتلة تسمى Streaming Multiprocessors (SMs)، مقسومة على ذاكرة التخزين المؤقت ووحدة التحكم المركزية. تتضمن كل واحدة 32 مجموعة من دائرتين منطقيتين (تسميهما Nvidia على أنها نوى CUDA) التي تنفذ جميع العمليات الحسابية - واحدة لقيم الأعداد الصحيحة والأخرى للعوامات. في الحالة الأخيرة، يمكن أن تدير النوى عملية FMA واحدة (Fused Multiply-Add) لكل دورة ساعة بدقة واحدة (32 بت) ؛ تتطلب عمليات الدقة المزدوجة (64 بت) دورتين على الأقل على مدار الساعة.

تبدو وحدات النقطة العائمة في رقاقة Xeon Phi (أدناه) متشابهة إلى حد ما، باستثناء أن كل مركز يعالج نصف قيم البيانات مثل SMs في C2050. ومع ذلك، نظرًا لوجود 32 نواة متكررة مقارنة بـ 14 نواة تسلا، يمكن لمعالج Xeon Phi واحد التعامل مع المزيد من القيم لكل دورة ساعة بشكل عام. ومع ذلك، كان الإصدار الأول من Intel من الرقاقة نموذجًا أوليًا ولم يستطع إدراك إمكاناته بالكامل - كان منتج Nvidia يعمل بشكل أسرع، ويستهلك طاقة أقل، وأثبت أنه منتج متفوق.
 

سيصبح هذا موضوعًا متكررًا في معركة GPGPU ثلاثية الاتجاهات بين AMD و Intel و Nvidia. قد يمتلك أحد النماذج عددًا كبيرًا من نوى المعالجة، بينما قد يحتوي نموذج آخر على سرعة ساعة أسرع أو نظام ذاكرة تخزين مؤقت أكثر قوة.

ظلت وحدات المعالجة المركزية (CPU) ضرورية لجميع أنواع الحوسبة، ولا تزال العديد من أجهزة الكمبيوتر العملاقة وأنظمة الحوسبة المتطورة تتكون من معالجات AMD أو Intel. في حين أن وحدة المعالجة المركزية الواحدة لا يمكنها التنافس مع أداء SIMD لوحدة معالجة الرسومات المتوسطة، إلا أنها أثبتت أنها مناسبة عند توصيلها بالآلاف. ومع ذلك، فإن هذه الأنظمة تفتقر إلى كفاءة الطاقة.

على سبيل المثال، في نفس الوقت الذي تم فيه استخدام بطاقة Radeon HD 4870 في Tianhe-1، كانت أكبر وحدة معالجة مركزية لخادم AMD (12 نواة Opteron 6176 SE) تسير في جولاتها. لاستهلاك طاقة يبلغ حوالي 140 واط، يمكن أن تصل وحدة المعالجة المركزية نظريًا إلى 220 GFLOPS، في حين أن وحدة معالجة الرسومات المذكورة أعلاه تقدم ذروة تبلغ 1200 GFLOPS مقابل 10 وات فقط، وبجزء بسيط من التكلفة.

لم تعد "مجرد" بطاقة رسومات
بحلول عام 2013، لم تكن أجهزة الكمبيوتر العملاقة في العالم فقط هي التي استفادت من قدرة وحدة معالجة الرسومات على إجراء عمليات حسابية متوازية بشكل جماعي. كانت Nvidia تروج بنشاط لمنصة GRID الخاصة بها، وهي خدمة افتراضية GPU، للتطبيقات العلمية والتطبيقات الأخرى. تم إطلاقه في الأصل كنظام لاستضافة الألعاب المستندة إلى السحابة، وقد جعل الطلب المتزايد على GPGPU واسع النطاق وبأسعار معقولة هذا التحول أمرًا لا مفر منه. في مؤتمر التكنولوجيا السنوي، تم تقديم GRID كأداة مهمة للمهندسين في مختلف القطاعات.

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

وفي الوقت نفسه، كانت AMD تفعل شيئًا مشابهًا، وذلك باستخدام تصميم Graphics Core Next (GCN) المحدث بانتظام في تشكيلة Radeon التي تركز على الألعاب، بالإضافة إلى بطاقات FirePro و Radeon Sky المستندة إلى الخادم. بحلول ذلك الوقت، كانت أرقام الأداء مذهلة - كان FirePro W9100 ذروة إنتاجية FP32 (نقطة عائمة 32 بت) تبلغ 5.2 TFLOPS، وهو رقم لم يكن من الممكن تصوره لجهاز كمبيوتر عملاق قبل أقل من عقدين من الزمن.

كانت وحدات معالجة الرسومات، بالطبع، لا تزال مصممة بشكل أساسي للرسومات ثلاثية الأبعاد، لكن التطورات في تقنيات العرض تعني أن هذه الرقائق يجب أن تصبح أكثر كفاءة في التعامل مع أعباء عمل الحوسبة العامة. كانت المشكلة الوحيدة هي قدرتها المحدودة على رياضيات الفاصلة العائمة عالية الدقة، أي FP64 أو أكبر. يُظهر النظر إلى أفضل أجهزة الكمبيوتر العملاقة لعام 2015 عددًا صغيرًا نسبيًا يستخدم وحدات معالجة الرسومات، إما Intel's Xeon Phi أو Nvidia's Tesla، مقارنةً بتلك التي كانت تعتمد بالكامل على وحدة المعالجة المركزية.

تغير كل ذلك عندما أطلقت Nvidia هيكلها Pascal في عام 2016. كانت هذه أول غزوة للشركة في تصميم وحدة معالجة الرسومات حصريًا لسوق الحوسبة عالية الأداء، مع استخدام البعض الآخر عبر قطاعات متعددة. تم تصنيع واحد فقط من السابق (GP100) وقد أنتج 5 منتجات فقط، ولكن حيث كانت جميع الهياكل السابقة تحتوي على عدد قليل من نوى FP64، احتوت هذه الشريحة على ما يقرب من 2000 منها.
 

مع تقديم Tesla P100 أكثر من 9 TFLOPS من معالجة FP32 ونصف هذا الرقم لـ FP64، كانت قوية للغاية. كان Radeon Pro W9100 من AMD، باستخدام شريحة Vega 10، أسرع بنسبة 30٪ في FP32 ولكن أبطأ بنسبة 800٪ في FP64. عند هذه النقطة، كانت إنتل على وشك التوقف عن سلسلة Xeon Phi بسبب ضعف المبيعات.

بعد مرور عام، أصدرت Nvidia أخيرًا Volta، مما جعل من الواضح على الفور أن الشركة لم تكن مهتمة فقط بتقديم وحدات معالجة الرسومات الخاصة بها إلى HPC وأسواق معالجة البيانات - كانت تستهدف واحدة أخرى أيضًا.
 
الخلايا العصبية، الشبكات، يا إلهي!
التعلم العميق (Deep Learning) هو مجال ضمن مجموعة أوسع من التخصصات المعروفة مجتمعة باسم التعلم الآلي، والتي هي في حد ذاتها مجموعة فرعية من الذكاء الاصطناعي. إنه ينطوي على استخدام نماذج رياضية معقدة تعرف باسم الشبكات العصبية التي تستخرج المعلومات من بيانات معينة، مثل تحديد احتمالية أن تصور الصورة المعروضة حيوانًا معينًا. للقيام بذلك، يحتاج النموذج إلى "تدريب" - في هذا المثال، تم عرض ملايين الصور لهذا الحيوان، إلى جانب ملايين أخرى لا تُظهر الحيوان.

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

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

محدودة للغاية، في الواقع، لقد قاموا بأداء وظيفة واحدة فقط - ضرب مصفوفتين FP16 4x4 معًا ثم إضافة مصفوفة FP16 أو FP32 4x4 أخرى لهذه النتيجة (عملية تعرف باسم عملية GEMM). يمكن لوحدات معالجة الرسومات السابقة من Nvidia، وكذلك تلك الخاصة بالمنافسين، إجراء مثل هذه الحسابات ولكن ليس قريبًا من سرعة فولتا. وحدة معالجة الرسومات الوحيدة التي تم تصنيعها باستخدام هذه البنية، GV100، تضم ما مجموعه 512 نواة موتر، كل منها قادر على تنفيذ 64 GEMM لكل دورة على مدار الساعة.

اعتمادًا على حجم المصفوفات في مجموعة البيانات، وحجم النقطة العائمة المستخدمة، يمكن أن تصل بطاقة Tesla V100 نظريًا إلى 125 TFLOPS في حسابات الموتر هذه. تم تصميم Volta بشكل واضح لسوق متخصص، ولكن حيث حققت GP100 تقدمًا محدودًا في مجال الكمبيوتر العملاق، تم اعتماد طرازات Tesla الجديدة بسرعة.

سوف يدرك عشاق ألعاب الكمبيوتر أن Nvidia أضافت لاحقًا نوى التنسور إلى منتجاتها الاستهلاكية العامة في بنية Turing اللاحقة، وطورت تقنية ترقية تسمى Deep Learning Super Sampling (DLSS). يستخدم الإصدار الأخير النوى الموجودة في وحدة معالجة الرسومات لتشغيل شبكة عصبية على صورة مكبرة، وتصحيح أي عيوب في الإطار.

لفترة وجيزة، كان لدى Nvidia سوق التعلم العميق المسرع من خلال وحدة معالجة الرسومات لنفسها، وشهد قسم مركز البيانات التابع لها زيادة في الإيرادات - بمعدلات نمو بلغت 145% في السنة المالية 2017، و 133% في السنة المالية 2018، و 52% في السنة المالية 2019. بحلول نهاية السنة المالية 2019، بلغ إجمالي مبيعات HPC والتعلم العميق وغيرها 2.9 مليار دولار.
 

ومع ذلك، حيثما يوجد المال، فإن المنافسة أمر لا مفر منه. في عام 2018، بدأت Google في إتاحة الوصول إلى شرائح معالجة التنسور الخاصة بها، والتي طورتها داخليًا، عبر خدمة سحابية. سرعان ما حذت أمازون حذوها مع وحدة المعالجة المركزية المتخصصة، AWS Graviton. وفي الوقت نفسه، كانت AMD تعيد هيكلة قسم GPU الخاص بها، مكونًا خطي إنتاج متميزين: أحدهما في الغالب للألعاب (RDNA) والآخر حصريًا للحوسبة (CDNA).

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

AMD's CDNA 2--powered MI250X الرياضية 220 وحدة حسابية، توفر أقل بقليل من 48 TFLOPS من سرعة نقل FP64 مزدوجة الدقة و 128 جيجابايت من ذاكرة النطاق الترددي العالي (HBM2e)، وكلا الجانبين مطلوب كثيرًا في تطبيقات HPC. يمكن لشريحة GH100 من Nvidia، باستخدام بنية Hopper و 576 Tensor Cores، أن تصل إلى 4000 TOPS، مع تنسيق أرقام INT8 منخفض الدقة في حسابات مصفوفة AI.

تعد وحدة معالجة الرسومات Ponte Vecchio من Intel عملاقة بنفس القدر، مع 100 مليار ترانزستور، و MI300 القادم من AMD لديه 46 مليار أكثر، بما في ذلك وحدة المعالجة المركزية المتعددة، والرسومات، وشرائح الذاكرة.
 

ومع ذلك، هناك شيء واحد يتشاركونه جميعًا وهو ما لا يتشاركونه بالتأكيد - فهم ليسوا وحدات معالجة رسومات. قبل وقت طويل من تخصيص Nvidia للمصطلح كأداة تسويق، كان الاختصار يعني وحدة معالجة الرسومات. لا يحتوي MI250X من AMD على وحدات إخراج (ROPs) على الإطلاق، وحتى GH100 لا يمتلك سوى أداء Direct3D لشيء يشبه GeForce GTX 1050، مما يجعل "G" في GPU غير ذي صلة.

لذا، ماذا يمكن أن نسميها بدلاً من ذلك؟ "GPGPU" ليست مثالية، لأنها عبارة خرقاء تشير إلى استخدام وحدة معالجة الرسومات في الحوسبة العامة، وليس الجهاز نفسه. "HPCU" (وحدة الحوسبة عالية الأداء) ليست أفضل بكثير. لكن ربما لا يهم حقًا. بعد كل شيء، مصطلح "CPU" واسع بشكل لا يصدق ويشمل مجموعة واسعة من المعالجات والاستخدامات المختلفة.
 
ما هي الخطوة التالية التي يجب على GPU التغلب عليها؟
مع استثمار مليارات الدولارات في أبحاث وتطوير GPU بواسطة AMD و Intel و Nvidia وعشرات الشركات الأخرى، لن يتم استبدال معالج الرسومات اليوم بأي شيء مختلف تمامًا في أي وقت قريبًا. بالنسبة للعرض، فإن أحدث واجهات برمجة التطبيقات وحزم البرامج التي تستخدمها (مثل محركات الألعاب وتطبيقات CAD) تكون بشكل عام محايدة تجاه الأجهزة التي تشغل الكود، لذلك من الناحية النظرية، يمكن تكييفها مع شيء جديد تمامًا.

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

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

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

هذا هو السبب في أن أمثال MI250 و GH100 تحمل تشابهًا قويًا مع نظيراتها في أجهزة الكمبيوتر المكتبية، ومن المرجح أن تتبع التصميمات المستقبلية المخصصة للاستخدام في HPC و AI هذا الاتجاه. لذا إذا كانت الرقائق نفسها لن تتغير بشكل كبير، فماذا عن تطبيقها؟

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


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

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

قد يكون ما هو التالي حقًا لوحدة معالجة الرسومات منطقة مجهولة، ولكن هناك شيء واحد مؤكد، ستظل وحدة معالجة الرسومات هي الأداة المهيمنة للحوسبة والذكاء الاصطناعي لعقود عديدة قادمة.