هل تحتوي بطاقات الجرافيك على مجموعات تعليمات خاصة بها؟

StackOverflow https://stackoverflow.com/questions/1697842

  •  18-09-2019
  •  | 
  •  

سؤال

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

هل تعليمة GPU التي تسبقها تعليمات وحدة المعالجة المركزية أم أنها سلسة؟ هذا هو OpenGL أو DirectX دعوة على طبقة برنامج التشغيل عبر وحدة المعالجة المركزية التي ترسل بعد ذلك تعليمات GPU أسفل الحافلة أو هي أكثر تفصيلا.

هل كانت مفيدة؟

المحلول

نعم يفعلون. حتى تقدم AMD المواصفات حتى سلسلة HD4000 في الوقت الحالي.

نلقي نظرة هنا: http://developer.amd.com/wordpress/media2/media2/10/r700-family_instruction_set_architecture.pdf.

يوجد أيضا مشروع مفتوح المصدر يسمى Nouveau الذي يقوم بالهندسة العكسية لمجموعات التعليمات NV.

ملاحظة، أن NVIDIA لديها بنية مختلفة قليلا من AMD، لأنها لا تستخدم VLIW ولكن التنفيذ العددي (على الرغم من أن المواضيع المتعددة مجمعة بالإضافة إلى ذلك في ما يسمى الاعوجاج أو موجة موجة).

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

يتم تشغيل البرامج الحقيقية فقط عند تنفيذ حبات معالجة التظليل أو تيار في GPU.

نصائح أخرى

حاليا، تستخدم بطاقات NVIDIA نوعا من ISA المتوسطة المسمى PTX. يمكنك أن تقرأ عنها في هذه الوثيقة:

PTX ISA 1.1.

يتم ترجمة برامج PTX إلى وقت تثبيت مجموعة تعليمات الأجهزة المستهدفة.

نعم، لدى GPU مجموعات التعليمات الخاصة بهم الخاصة. يتم تنفيذ تعليمات GPU مستقلة عن تعليمات CPU.

AMD الرسومات الأساسية (GCN)

https://en.wikipedia.org/wiki/graphics_core_next.

يسمى الجيل الأول "الجزر الجنوبية".

روابط صفحة Wiki إلى مواصفات AMD التي توثيق ISA، على سبيل المثال: http://developer.amd.com/wordpress/media2/201/2012/22/AMD_SOUTHERN_ISLANDS_INSECTRIDE_SET_URCHIENTURE.PDF.

هناك حتى تنفيذ RTL مفتوح يسمى miaow https://github.com/verticalResearch group/miaow., ، على الرغم من أنه من المحتمل أن ينتهك بعض IP الذي اختاره AMD فقط التسامح في صمت الآن (مصدر).

أشبع

https://en.wikipedia.org/wiki/standard_portable_intermediate_representation. هي لغة متوسطة Krhonos القياسية.

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

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

كيفية الحصول على وتعديل PTX

كيفية إنشاء أو التعامل مع مجمع GPU؟

بالنسبة لبطاقات NVIDIA، قد ترغب في إلقاء نظرة على هذا المستند http://docs.nvidia.com/cuda/cuda-binary-uturities/index.html#instruy-Set-Ref.

انظر: دليل برمجة CODA الإصدار 3.0

يتم تعريف القدرة على حساب الجهاز بواسطة رقم مراجعة رئيسي ورقم مراجعة ثانوي.

الأجهزة ذات نفس رقم المراجعة الرئيسية هي نفس الهندسة المعمارية الأساسية. يعد عدد المراجعة الكبرى للأجهزة المستندة إلى بنية Fermi 2. الأجهزة السابقة كلها إمكانية حساب 1.x (رقم المراجعة الرئيسي هو 1).

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

الملحق لقوائم جميع الأجهزة التي تدعم cuda جنبا إلى جنب مع قدرتها على حسابها. يمنح الملحق G المواصفات الفنية لكل إمكانية حساب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top