دانلود مقاله ترجمه شده یک مدل تحلیلی برای یک معماری GPU با آگاهی موازیِ سطح حافظه و سطح نخ


چطور این مقاله مهندسی کامپیوتر و IT را دانلود کنم؟

فایل انگلیسی این مقاله با شناسه 2001545 رایگان است. ترجمه چکیده این مقاله مهندسی کامپیوتر و IT در همین صفحه قابل مشاهده است. شما می توانید پس از بررسی این دو مورد نسبت به خرید و دانلود مقاله ترجمه شده اقدام نمایید

قیمت :
1,195,000 ریال
شناسه محصول :
2001545
سال انتشار:
2009
حجم فایل انگلیسی :
798 Kb
حجم فایل فارسی :
1 مگا بایت
نوع فایل های ضمیمه :
Word+Pdf
کلمه عبور همه فایلها :
www.daneshgahi.com

عنوان فارسي

یک مدل تحلیلی برای یک معماری GPU با آگاهی موازیِ سطح حافظه و سطح نخ

عنوان فارسي

An Analytical Model for a GPU Architecture with Memory-level and Thread-level Parallelism Awareness

نویسنده/ناشر/نام مجله

The 36th International Symposium on Computer Architecture

این مقاله چند صفحه است؟

این مقاله ترجمه شده مهندسی کامپیوتر و IT شامل 12 صفحه انگلیسی به صورت پی دی اف و 33 صفحه متن فارسی به صورت ورد تایپ شده است

چکیده فارسی

چکیده

معماری 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 می باشند. با این حال، حتی با این زبان های برنامه نویسی به تازگی توسعه یافته، برنامه نویسان هنوز هم نیاز به صرف زمان و تلاشِ بسیار زیاد برای بهینه سازی برنامه های کاربردی خود دارندکه برای رسیدن به عملکرد بهتر است[24]. اگر چه انجمنِ] GPGPU [11 دستورالعمل های عمومی  برای بهینه سازی برنامه های کاربردی با استفاده از   CUDAرا فراهم می کند ، به روشنی مشخص است که هنوز هم درک های مختلف  از ویژگی هایِ معماری اساسی و عملکرد مرتبط تنگناها در برنامه های کاربردی هنوز هم همان مشق شب برنامه نویسان باقی مانده است. بنابراین، برنامه نویسان ممکن است نیاز به همه ی ترکیباتِ متفاوت داشته باشند تا بتوانند بهترین تنظیماتِ اجرایی را پیدا کنند[24]. به منظور ارائه بینشی در مورد تنگناهای عملکرد در انبوه معماری های موازی ، به ویژه معماری GPU ، ما مدل تحلیلی ساده را پیشنهاد می کنیم. این مدل می تواند به صورتِ ایستا مورد استفاده قرار گیرد و بدونِ اینکه برنامه ای اجرا شود. شهود اساسی از مدلِ تحلیلی ما این است که برآورد هزینه ی عملیاتی حافظه یک عنصرِ کلیدی است که برای برآورد بخشی از عملکرد برنامه های کاربردی GPU موازی می باشد. زمان اجرای یک برنامه  توسط  زمان تاخیرِ دستورالعمل های حافظه محدود می شود، اما زمان تاخیر هر عمل حافظه می تواند با اجرای درخواست های متعدد حافظه ها به صورت همزمان پنهان شود. با استفاده از تعدادِ نخ های همزمان در حال اجرا و مصرف پهنای باند حافظه، برآورد ما این است که چگونه بسیاری از درخواست هایِ حافظه را می توان به صورت همزمان اجرا کرد، که ما آن را حافظه ی ریسمانِ موازی (MWP) می نامیم. ما همچنین ریسمان محاسباتِ موازی را معرفی می کنیم(CWP. (CWP  نشان دهنده ی مقدار محاسبه انجام شده توسط دیگر ریسمانها می باشد در حالی که یک پیچ در انتظار مقادیرِ حافظه ای است. CWP شبیه به یک متریک است، که شدت محاسباتی  است[23] که در انجمنِ GPGPU معرفی شده اند. با استفاده از هر دوی MWP و CWP، ما به طورِ موثری هزینه درخواست های حافظه را تخمین می زنیم، در نتیجه زمان اجرای برنامه را تخمین می زنیم. ارزیابی مدل تحلیلی ما بر اساس] CUDA [20، 22  می باشد. زبان برنامه نویسی C با پسوند موضوعاتِ موازی است. ما نتایجِ مدل تحلیلی خود را با زمان اجرای واقعی بر روی چندین GPU مقایسه کردیم....

مدل تحلیلی CUDA معماری GPU سطح حافظه موازی سطح پیچِ موازی تخمینِ عملکرد :کلمات کلیدی

چکیده انگلیسی


Abstarct

GPU architectures are increasingly important in the multi-core era due to their high number of parallel processors. Programming thousands of massively parallel threads is a big challenge for software engineers, but understanding the performance bottlenecks of those parallel programs on GPU architectures to improve application performance is even more difficult. Current approaches rely on programmers to tune their applications by exploiting the design space exhaustively without fully understanding the performance characteristics of their applications 

To provide insights into the performance bottlenecks of parallel applications on GPU architectures, we propose a simple analytical model that estimates the execution time of massively parallel programs. The key component of our model is estimating the number of parallel memory requests (we call this the memory warp parallelism) by considering the number of running threads and memory bandwidth. Based on the degree of memory warp parallelism, the model estimates the cost of memory requests, thereby estimating the overall execution time of a program. Comparisons between the outcome of the model and the actual execution time in several GPUs show that the geometric mean of absolute error of our model on micro-benchmarks is 5.4% and on GPU computing applications is 13.3%. All the applications are written in the CUDA programming language

Contents

1. INTRODUCTION

2. BACKGROUND AND MOTIVATION

2.1 Background on the CUDA Programming Model

2.2 Background on the GPU Architecture

2.3 Coalesced and Uncoalesced Memory Accesses

2.4 Motivating Example

3. ANALYTICAL MODEL

3.1 Introduction to MWP and CWP

3.2 The Cost of Executing Multiple Warps in the GPU architecture

3.3 Calculating the Degree ofWarp Parallelism

3.4 Putting It All Together in CUDA

3.5 Limitations of the Analytical Model

3.6 Code Example

4. EXPERIMENTAL METHODOLOGY

4.1 The GPU Characteristics

4.2 Micro-benchmarks

4.3 Merge Benchmarks

5. RESULTS

5.1 Micro-benchmarks

5.2 Merge Benchmarks

6. RELATED WORK

6.1 Analytical Modeling

6.2 GPU Performance Modeling

7. CONCLUSIONS

Keywords: Analytical model CUDA GPU architecture Memory level parallelism Warp level parallelism
کتابخانه الکترونیک
دانلود مقالات ترجمه شده
جستجوی مقالات
با انتخاب رشته مورد نظر خود می توانید مقالات ترجمه شده آن رو به صورت موضوع بندی شده مشاهده نمایید