جمعه 29 تیر 1397 | Friday 20 th of July 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
1-2- مقایسه توانایی های GPU با CPU

      امروزه، GPUهاتوان محاسباتی بهتری در مقایسه با پردازنده های مرکزی جدید دارند(همانطور که در شکل 1-1نشان داده شده است) و در انواع کاربردها از انها استفاده می شود.

شکل 1- 1 - مقایسه توان پردازشی خام پردازنده‌گرافیکی با پردازنده‌مرکزی

در این شکل توان پردازشی خام با واحدتعداد محاسبات ممیز شناور در ثانیه[1]سنجیده شده است. خطوط ابی نمایانگرتعداد ممیز شناور در ثانیه توسط CPUو خطوط سبز توسط GPUمی باشد.همانطور که مشاهده می‌کنید توان پردازشی خام پردازنده‌های گرافیکی‌ بسیار بیشتر از سریع‌ترین پردازنده‌های مرکزی بوده و رفته رفته فاصله میان این دو بیشتر می‌شود.

در شکل 1-2- پهنای باند تعدادی CPUو  GPUنشان داده شده است.

شکل1-2- مقایسه پهنای باند GPUو CPU

مدل برنامه‌نویسی برنامه‌هایی که برای پردازنده‌مرکزی نوشته می‌شوند در اصل یک مدل سریال است به این معنی که شبه کد‌های تشکیل دهنده یک برنامه به ترتیب از بالا به پایین خوانده شده و پس از ترجمه، اجرا ‌شده و در ان به ندرت از موازی‌سازی در پردازش داده‌ها استفاده می‌شود. معماری در نظر گرفته شده برای ان نیز بر مبنای این مدل پایه ‌ریزی شده است و قابلیت‌های چندانی برای اجرای چندین دستورالعمل مشابه را به صورت همزمان ندارد. در حالی که مدل برنامه‌نویسی برنامه‌های پردازنده‌گرافیکی کهجریان[2]نام دارد، در اصل یک مدل موازی است و قابلیت بهره گیری از تکنیک‌های موازی‌سازی در ان گنجانده شده است. هرچند، پردازنده های‌مرکزی جدید با قابلیت‌هایی نظیر  HyperThreading، SSE،  3D Now و بکارگیری‌ معماری‌های چند‌هسته‌ای نوید موازی‌سازی بیشتر را می‌دهند، اما نرخ موازی‌سازی انها بسیار کمتر از یک پردازنده‌گرافیکی با 320 واحد پردازشی است.

برخلاف GPU،زیرسیستم حافظه در نظر گرفته شده برای پردازنده‌ های مرکزی برای کاربردهایی که نیاز به دسترسی به حافظه با تاخیر کم دارند بهینه شده است نه برای برنامه‌هایی که به پهنای باند حافظه وسیعی نیاز دارند، با توجه به مدل برنامه نویسی سریال پردازنده‌مرکزی، بخش‌های یک برنامه باید مرجع‌های حافظه را برای به جریان افتادن قسمت بعدی برنامه، به سرعت برگردانند که لازمه این امر تاخیر کم در دسترسی به حافظه است، به همین دلیل در سلسله مراتب حافظه‌ی پردازنده‌مرکزی چندین لایه حافظه نهان گنجانده شده تا این تاخیر را به حداقل برساند.در مقابل، در مدل برنامه‌نویسیجریانیکه برنامه‌های پردازنده‌گرافیکی در چهارچوب‌ ان نوشته می‌شوند، پهنای باند گسترده‌تر برای دسترسی به حافظه  اهمیت بیشتری نسبت به تاخیر دسترسی به حافظه دارد، چرا که در این مدل، برنامه‌های پردازنده‌گرافیکی به صورت موازی اجرا شده و وابستگی چندانی میان‌ انها وجود ندارد. به همین دلیل برنامه‌هایی که نیاز به پهنای ‌باند حافظه‌ زیادی دارند، با پردازنده‌گرافیکی‌ سریعتر‌ از پردازنده‌مرکزی‌ اجرا می‌شوند.

CPUیک پردازنده کاملا عمومی است که هر نوع عملیات محاسباتی و پردازشی را می توان با ان انجام داد اما GPUیک پردازنده کاملا اختصاصی است که ویژه پردازش گرافیکی طراحی شده است. افزایش روز افزون عملکرد کارت های گرافیکی، محققین را به فکر بهره گیری از توان پردازشی انها در کاربردهای غیر گرافیکی انداخته است. درهمین راستا شاخه جدیدی در علوم کامپیوتر به نام محاسبات با اهداف همه منظوره روی واحد GPUایجاد شده است. هدف فعالان این عرصه بهره گیری از کارت گرافیک به عنوان یک کمک پردازنده محاسباتی در برنامه های غیرگرافیکی و برنامه های عمومی است. پردازنده های گرافیکی امروزی از چندین پردازنده با کارایی بالا تشکیل شده اند که قادر به محاسبات بسیار سنگین هستند و قابلیت پشتیبانی از رابط های برنامه نویسی و زبان های استاندارد مانند Cرا دارند.

نمونه ای از کاربرد‌های غیرگرافیکی پردازنده های‌گرافیکی

- برنامه‌های پیچیده ضرب ماتریسی و برداری

- روش‌های حل دستگاه معادلات خطی و دستگاه معادلات دیفرانسل

- برنامه‌های شبیه‌سازی ساختار پروتئین

- برنامه‌های مسیریابی شعاع نور[3]

- برنامه‌های شبیه‌سازی فیزیکی مانند شبیه سازی جریان سیال یا تصادم

- برنامه‌های پیمایش و تولید گراف

- برنامه‌های پردازش صوت یا تصویر

- برنامه‌های بینایی ماشین

- برنامه‌های محاسبه تبدیل فوریه سریع[4]

مطابق بررسی های انجام شده قدرت محاسباتی یک GPUتسلا، چیزی بالاتر از پانصد برابر قدرت یک پردازنده چهار هسته ای اینتل است. با توجه به مطالب ذکر شده و مفاهیم پایه‌ای موازی‌سازی، GPUها را می‌توان پردازنده‌هایی بهینه‌ شده در راستای موازی‌سازی وظایف[5] و داده‌ها[6] دانست. GPUها به دلیل معماری خاصی که دارند از چنین توانایی‌هایی برخوردار بوده و معماری ان‌ها برای پیاده‌سازی یک CPUمناسب نیست. زیرا با توجه به معماری کنونی پلتفرم x86، دستگاه‌ها و تجهیزات مختلفی در سیستم موجود هستند که مدیریت ان‌ها بر عهده پردازنده بوده و برای حفظ ارتباطات مناسب و مدیریت جامع، CPUناگزیر از داشتن چنین معماری و به تبع ان پردازش کندتری است.

در شکل 1-3 سرعتGPUها و CPUها برای بدست اوردن پسورد 4 رقمی فایل هایRAR  نشان داده شده است.

شکل 1- 3- نمودار مقایسه سرعت GPUها و CPUها در بدست اوردن پسورد فایل های RAR



[1]Gigaflops( GFLOPS)

[2]Stream

[3]Ray Tracing

[4]FFT

[5]Task Parallelism

[6]Data Parallelism

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26