چکیده
معماری GPU در عصرِ چند هسته ای به طور فزاینده ای مهم است که این امر با توجه به تعداد بالایِ پردازنده های موازیِ خود آنهاست. برنامه ریزیِ هزاران نخِ انبوه موازی یک چالش بزرگ برای مهندسانِ نرم افزار است، اما درکِ تنگناهای عملکردِ برنامه های موازی در معماری GPU به منظور بهبود عملکرد برنامه ها، حتی از آن هم سخت تر است. روش های کنونی به برنامه نویسان تکیه می کند که برنامه های کاربردی خود را به طورِ کامل با بهره گیری از فضای طراحی تنظیم کنند بدون اینکه درک کاملی از ویژگی های عملکردِ برنامه های کاربردی داشته باشند. به منظورِ ارائه دیدگاه هایی در رابطه با تنگناهای عملکرد های موازیِ برنامه های کاربردی در معماری GPU، ما مدلِ تحلیلی ساده را پیشنهاد می کنیم که زمان اجرای برنامه های موازی را تخمین می زند. جزء کلیدیِ مدل ما، برآورد تعداد درخواست های حافظه موازی (ما این را حافظه پیچِ موازی می نامیم) با توجه به تعداد نخ های در حال اجرا و پهنای باندِ حافظه می باشد. بر اساس درجه ی حافظه پیچِ موازی، این مدل هزینه درخواست های حافظه را برآورد می کند و در نتیجه زمان اجرای کلی برنامه را تخمین می زند. مقایسه ی بین نتیجه ی مدل و زمان اجرای واقعی در چندین GPU نشان می دهد که میانگین هندسیِ خطای مطلقِ مدل ما در معیارِ میکرو، 5.4٪ است و در برنامه های محاسباتِ کاربردی GPU 13.3٪ است. تمام برنامه های کاربردی در زبانِ برنامه نویسی CUDA نوشته شده است.
فهرست مطالب
1-مقدمه
2-سابقه و انگیزه
1-2-پس زمینه ی مدلِ برنامه نویسی CUDA
2-2- پیش زمینه ی معماری GPU
3-2-دسترسی همبسته و نا همبسته به حافظه
4-2- نمونه ی ایجاد انگیزه
3- مدل تحلیلی
1-3-مقدمه ای به MWP و CWP
2-3-هزینه اجرای ریسمان های چندگانه در معماری GPU
3-3- محاسبه ی درجه ی توازن ریسمان ها
4-3- قرار دادن همه ی این ها در CUDA
5-3- محدودیت های مدل تحلیلی
6-3- نمونه کد
4- روش آزمایشگاهی
1-4-ویژگی هایِ GPU
2-4- معیارهای میکرو
3-4- معیارهای ادغام کردن
5- نتایج
1-5- معیارهای میکرو
2-5- معیارهای ادغام سازی
6-کارهای مرتبط
1-6- مدل سازی تحلیلی
2-6- مدلسازی عملکرد GPU
7-نتیجه گیری
1-مقدمه
افزایش قدرت محاسباتیِ GPU های به آنها اوج قدرت محاسبات قابلِ توجه بیشتری نسبت به پردازنده ها می دهد. به عنوان مثال، GTX280 GPU های NVIDIA در [3] قدرتِ 933 با 240 هسته را فراهم می کنند، در حالی که پردازنده Core2Quad اینتل [2] تنها 100 را ارائه کرده اند. نسل بعدی اینتل از پردازنده های گرافیکی بیشتر از Gflop / s 900 [26] را پشتیبانی خواهند نمود. AMD / ATI آخرین GPU (HD4870)، Tflop / s 1.2 را فراهم می کند [1]. با این حال، حتی اگر سخت افزار، قدرتِ محاسباتی عملکرد بالا را هم فراهم کند، نوشتن برنامه های موازی با استفاده کامل از این کارایی با قدرت محاسباتیِ بالا، هنوز هم یک چالشِ بزرگ است. به تازگی، زبان های برنامه نویسی جدیدی آمده اند که با هدف ِکاهش بار برنامه نویسان در نوشتن برنامه های کاربردی موازی است که این برنامه ها برای پردازندههای گرافیکی مانند بروک + [5]، CUDA [22]، و] OpenCL [16 می باشند...
میتوانید از لینک ابتدای صفحه، مقاله انگلیسی را رایگان دانلود فرموده و چکیده انگلیسی و سایر بخش های مقاله را مشاهده فرمایید.