لماذا المواضيع GPU في CUDA و OpenCL المخصصة في شبكة؟

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

  •  20-09-2019
  •  | 
  •  

سؤال

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

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

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

المحلول

وهذا هو نهج مشترك، والذي يستخدم في CUDA، OpenCL وأعتقد تيار ATI.

والفكرة وراء الشبكة هو توفير بسيطة، ولكن مرونة، ورسم الخرائط بين البيانات التي يجري تجهيزها والمواضيع يفعل معالجة البيانات. في النسخة بسيط من طراز التنفيذ GPGPU، واحد موضوع GPU هو "تخصيص" لكل عنصر من عناصر الانتاج في 1D، 2D أو 3D شبكة من البيانات. لمعالجة هذه عناصر الانتاج، فإن موضوع قراءة واحدة (أو أكثر) عناصر من الموقع المقابلة أو المواقع المجاورة في الشبكة إدخال البيانات (ق). من خلال تنظيم المواضيع في الشبكة، أنه من الأسهل للالمواضيع لمعرفة أي عناصر إدخال البيانات لقراءة ومكان تخزين العناصر إخراج البيانات.

وهذا يتناقض مع نزلات متعددة النوى، وحدة المعالجة المركزية طراز الترابط حيث يتم تخصيص موضوع واحد لكل نواة وحدة المعالجة المركزية وكل موضوع يعالج العديد من المدخلات والمخرجات العناصر (مثل 1/4 من البيانات في نظام رباعية النوى).

نصائح أخرى

والجواب البسيط هو أن وحدات معالجة الرسومات تم تصميمها لمعالجة الصور والقوام التي هي 2D شبكات بكسل. عند تقديم مثلث في DirectX أو OpenGL، والأجهزة rasterizes قبل أن تتحول إلى شبكة من بكسل.

وأنا سوف تحتج القياس الكلاسيكية وضع شماعة مربع في حفرة مستديرة. حسنا، في هذه الحالة GPU هو حفرة مربعة جدا وليس تقريب وكذلك GP (الغرض العام) أن أقترح.

والتفسيرات أعلاه طرحت أفكار القوام 2D، وما إلى ذلك بنية GPU هي من النوع الذي تجهيز جميع ويتم في الجداول مع خط أنابيب يجري متطابقة في كل تيار، وبالتالي فإن البيانات التي يتم معالجتها تحتاج إلى مجزأة من هذا القبيل .

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

وحتى القيم التي تحتاجها في النواة (قيم المؤشر) يتم التعبير عنها بشكل طبيعي في API.

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