سؤال

أواجه بعض المشاكل في فهم تنفيذ SIMT على وحدة معالجة الرسومات.لقد تم حتى الآن وضع الخيوط في "اعوجاج" (على سبيل المثال.32 المواضيع/الاعوجاج).ستكون هذه الخيوط من نفس النوع ويمكن تشغيلها بالتوازي (لكن يمكن أن تتفرع وتعمل بشكل مستقل).

ثم يستمر الكتاب الذي أقرأه في إرباكي. 'It is then up to the instruction unit to select warps that are ready to execute their next instruction, and this instruction is then issued to the active threads of the warp. Each SP core executes an instruction for four individual threads of a warp using four clocks'.

تحتوي البنية المختارة على 8 نقاط SP و32 خيطًا لكل السداة.لذلك يتم تعيين 4 مواضيع لكل SP.لماذا لا يتم تعيين مؤشر ترابط/SP واحد فقط؟ماذا يعني "استخدام أربع ساعات؟" هل تستغرق كل تعليمة ساعة واحدة وتفعلها 4 مرات (1 لكل موضوع)؟

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

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

المحلول

ينشأ جزء "استخدام أربع ساعات" (في سياق عائلة وحدات معالجة الرسومات NVIDIA g80/g90/g200) لأن كل نواة عبارة عن وحدة ALU عددية بشكل فعال.يمكنه فقط التعامل مع تعليمات واحدة من مؤشر ترابط واحد لكل ساعة.لذا، لإيقاف تعليمات لالتواء مكون من 32 خيطًا، يتم تنفيذ كل تعليمات أربع مرات على مدار أربع ساعات (أو أربعة أضعاف عدد الساعات لتنفيذ التعليمات، وبعضها يستغرق وقتًا أطول من دورة واحدة).إنه أكثر تعقيدًا بعض الشيء من ذلك لأنه يمكن إصدار مجموعات تعليمات معينة بشكل مزدوج، ولكن نأمل أن تكون قد فهمت الفكرة.على حساب 2.0 Fermi، يتم إصدار اثنين من أجزاء نصف الاعوجاج بشكل مزدوج في كل دورة، لذلك يتقاعد 32 مركزًا من اعوجاجين لكل دورتين.في أجزاء الحوسبة 2.1 Fermi، هناك 48 مركزًا، مع نفس نظام الإصدار المزدوج، بالإضافة إلى تعليمات إضافية من أحد الالتواءات النشطة، إذا كانت متوفرة، مما يجعل المعالجات المتعددة خارج الترتيب.

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

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