الجمعة، 4 أكتوبر 2013

AMD و Mantle ، بديل DirectX ، أم بديل CUDA ؟

AMD و Mantle ، بديل DirectX ، أم بديل CUDA ؟


في عام 2011 خرج أحد ممثلي AMD وانتقد مكتبة Direct X علنا في حديث صحفي ، وطالب بايجاد بدائل أخري له ، في خطوة اعتبرها البعض محاولة للاستغناء عنه ، واعتبرها البعض الآخر أداة ضغط علي Microsoft لتزيد من وتيرة تطوير المكتبة .

لاحقا بعد عامين ، صعقت AMD الوسط التقني بتقديمها لمكتبتها الخاصة ، التي سمتها Mantle (أو العباءة) ، لخصت AMD الهدف من ذلك ببساطة ، تعظيم أداء العتاد بصورة أكبر من Direct X .

وكان أول سؤال تقافز الي أذهان الجميع ، هل حقا قررت AMD الاستغناء عن Direct X ؟





في البداية يجب أن نقول ان مكتبة Direct X لم تصمم خصيصا سوي لتكون وسيطا بين عتاد المعالجات الرسومية والمركزية التي تتطور وتتبدل باستمرار ، وبين الألعاب التي تظل ثابتة بمرور الزمن لا تتغير .

بمعني آخر ، Direct X ما هو الا منصة منطقية Software تفرض طريقة محددة في المعالجة علي كل العتاد سواء من AMD او NVIDIA أو Intel أو من غيرهم  ، علي اختلاف قدراتهم وأساليب تلقينهم .

لا يمكن لمصمم اللعبة أن يضع في حسبانه قدرات وتفاصيل عتاد AMD و NVIDIA و Intel ، وكل الشركات الأخري في تصميم لعبته ، لكن يمكنه أن يضع في حسبانه قواعد مكتبة DirectX التي يلتزم بها الجميع ، فيوفر الوقت والمجهود .

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

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

لكن يبدو أن AMD قررت أن هذا الثمن أصبح باهظا بشكل أكثر من اللازم ، وأنه ليس من المناسب لها أن تدفعه بعد الآن .. بالطبع لا يخفي علي أحد أن عتاد AMD أصبح موجودا في كل منصات الألعاب المنزلية ، فضلا عن الحاسب الشخصي ، لكن عتاد المنصات لا يعتمد علي Direct X ، في حين أن عتاد الحاسب يعتمد .. لذا اصبحت المسألة بسيطة ومباشرة أمام AMD : تجاوز Direct X و ساوي بين عتاد الحاسوب والمنصات .

تقول AMD أن كل تلك المكتبات الموحدة سواء كانت Direct X او حتي OpenGL ، تعاني من مشاكل في استخدام عتاد الحاسب الآلي بشكل كامل ، وتترك نسبة غير هينة منه غير مستغلة ، وهي حقيقة ثابتة نستطيع أن نتعاطف معها .

وتعدد AMD من أوجه النقص في هذا الاستغلال : فتسوق أمثلة لعدم الاستهلاك الجيد للذاكرة الرسومية ، سواء كانت العشوائية RAM أو المخبأة Caches .. والسبب في هذا يعود لاعتبارات الأمان والجودة التي يفرضها نظام التشغيل ومكتبة Direct X علي أي تطبيق منطقي Software Application .

تسوق AMD أيضا أمثلة لأوامر الرسم Draw Calls .. وهي تلك الأوامر التي يرسلها المعالج المركزي CPU الي المعالج الرسومي GPU لكي يبدأ عملية رسم الأجسام ثلاثية الأبعاد  ، و مشكلة تلك الأوامر انها محدودة العدد جدا علي الحاسب الشخصي لأنها تستهلك نسبة كبيرة من المعالج المركزي ، وكثرتها تؤدي الي خنق المعالج ، والأسوا أن مكتبة DirectX لا تمكن المطورين من استغلال الأنوية المتعددة في اعطاء تلك الأوامر ، وتقيدهم باستخدام نواة واحدة فقط ! الأمر الذي يؤدي الي اهدار موارد المعالج المركزي ، وتثبيط قدرات الحاسب الشخصي علي رسم بيئات معقدة ، وتسعي AMD لزيادة عدد تلك الأوامر من خلال Mantle .

تذكر AMD كذلك وجود عائق كبير يواجع التعاون الفعال بين المعالج المركزي والرسومي ، وهو التعاون الذي بنت عليه AMD خطة كاملة لدمج المعالجين معا في مسرعاتها الجديدة APUs .

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


و Mantle هو مكتبة أخري مثل DirectX ، لكنها تحوي قواعد وأوامر مخصصة فقط لعتاد AMD ، سواء من البطاقات الرسومية المبنية علي معمارية GCN ، أو المعالجات المركزي المنية علي معمارية Bulldozer ، تهدف هذه القواعد الي استغلال عتاد AMD بشكل كامل .


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

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

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

عيب آخر قد يكون محوريا ، هو صعوبة محاكاة كل خصائص Direct X بنفس الدقة والتتابع وجودة الصورة من خلال Mantle ، حيث قد يوفر Mantle نوعا من الاختصارات في العمليات الحسابية هنا وهناك ، محققا تاثيرات بصرية علي درجة مختلفة من الدقة أو الجودة ، يحتاج Mantle أيضا أن يضع في حسبانه التدرجية في المعالجة ليتوافق مع البطاقات والمعالجات الدنيا والعليا علي السواء ، وهو الشئ الذي من المفترض أن يكون يسيرا مع استعمال AMD لمعمارية واحدة علي امتداد معالجاتها الدنيا والعليا .. لكن حتي مع هذا ، فان تحقيق التوافق الكامل مستحيل، وظهور التعارضات والمشكلات سيصبح أمرا حتميا .

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

لكن AMD لا يبدو انها ستحاول رفع مرتبة Mantle كي يحل محل Direct X ، علي الأقل في الوقت الحالي ، بل ستعمل علي جعله خيارا ثانويا له ، لا يستبدله ليحل محله ، لكن يحسنه ، فاقتصر كل ما أعلنت عنه AMD بخصوص Mantle انه سيزيد من أداء لعبة Battlefield 4 (أول لعبة داعمة لـ Mantle ) بنسبة معقولة مقارنة بـ Direct X ، ما دعي جون كارماك المطور الشهير ، الي اعتبار Mantle محموعة من أوامر الرسم والكتابة علي الذاكرة وفقط ، أي اقتصاره علي كونه عاملا في زيادة عدد الاطارت.

لكن زيادة أوامر الرسم ستمكن Mantle من عمل بيئات ثلاثية الأبعاد أكثر تعقيدا دون نقص شديد في الأداء مقاربة بـ Direct X ، الأمر الذي قد يستغل لاحقا في زيادة جودة الصورة .. وهنا يصبح الأمر مثل منصة CUDA والتي تستغل بطاقات NVIDIA في عمل مؤثرات طبيعية PhysX أكثر تعقيدا لتزيد من جودة الصورة .

وهنا يبدو Mantle كبديل لـ CUDA ، أكثر من كونه بديلا لـ Direct X ، لكن الفارق بينه وبين الأولي ، أن NVIDIA لم توسع من CUDA لتشمل أوامر الرسم والكتابة علي الذاكرة .. بينما فعلت AMD ذلك بالفعل ، الأمر الذي قد يتغير مستقبلا ، وينقسم السوق حينها الي جبهات متصارعة.

لكن قبل أن يحدث هذا سيكون علي AMD ان تخطو بحذر شديد أثناء تطوير Mantle ، لتتفادي كل العيوب الحطيرة التي سردناها سابقا وكذا الأمر بالنسبة لـ NVIDIA اذا ما حاولت تقليد AMD .. وفي كل الأحوال فان الصراع التقني علي سوق المعالجات الرسومية قد انتقل الي بعد جديد ، فبعد اقتصاره علي المعماريات العتادية Hardware ، امتد الآن ليشمل الجانب التلقيني والمنطقي Software ، واعتمادا علي نتيجة هذا الصراع ، وسلوك كل شركة .. فقد يكون في انتظار المستخدمين أوقات عصيبة أو شيقة ، والزمن فقط هو من سيحسم أيهما .
شارك الموضوع لتُفيد غيرك
شارك→
تابعنا→
Sأنشرها→

0 التعليقات:

إرسال تعليق