GPGPU چیست؟! با پردازش گرافیکی آشنا شوید

زمانی بود که پردازنده (CPU) بار پردازش بازی را به عهده داشت و تراشه های گرافیک به دلیل ضعف زیاد فقط میتوانستند کارهای ساده ای همچون عملیات ساخت تصویر برای مانیتور، سوئیچ بین حالت متنی وگرافیکی و یا سوئیچ بین حالت رنگی ۱۶ یا ۲۵۶ بیتی را انجام دهند. مهمترین سیستم عامل آن زمان هم مایکروسافت داس (MS-DOS) بود که در محیطی متنی و فاقد گرافیک اجرا میشد. پس از ظهور ویندوز بود که اوضاع دگرگون شد و نیاز به پرادزش گرافیکی در محیط گرافیکی افزایش یافت.

اولین بار در همین زمان بود که بحث شتاب دهنده گرافیکی مطرح شد و سپس کارت های متنوعی که از این قابلیت پشتیبانی میکرند وارد بازار شدند. ۳DFX Voodoo و Rendition V 1000 از همین دست بودند که قدیمی ها یادشان است. زمان گذشت تا اینکه تراشه های گرافیکی قدرتمند تر وارد بازار شدند. تراشه های گرافیکی امروزی قادرند پرادزش های سنگینی را به صورت موازی یا محاسبات ممیز شناور با دقت مضاعف را انجام دهند. این تراشه ها امروزه به دو صورت برای اجرای بازی تولید میشوند.

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

به این مدل پردازش GPGPU میگویند که مخفف General Purpose Computing on Graphics Processing Unit است. همانطور که گفتیم این مدل پردازش شامل پردازش های گرافیکی و غیر گرافیکی میشود که در اوایل ظهورش مشکلات زیادی داشت. به طوری که تراشه های گرافیکی در اوایل برای انجام عمیلیات ممیز شناور با DirectX پایین تر از نسخه ۹.۰ به مشکل میخوردند و البته بعدها اکثر مشکلات مربوط به این نوع پردازش در DirectX 11 حل شد. در حال حاظر و با عرضه DirectX 12 شاهد عرضه و ظهور نسل جدیدی از Direct Computing هستیم که از بسیاری از کارت های گرافیک روز دنیا پشتیبانی میکند.

تسلا-و-پردازنده

تسلا اولین بار با Tesla K80 و Tesla K40 به سمت GPGPU حرکت کرد. تصویر بالا قدرت پردازشی GPGPU تراشه های تسلا (نمودارد سبز رنگ) را درمقابل قدرت پردازشی پردازنده مرکزی (نمودار آبی رنگ) نشان میدهد و همانطور که میبینید قدرت پردازشی این دو تراشه اصلاً قابل قیاس نیست.

امروزه تمامی تراشه های گرافیکی ساخت انویدیا و AMD از پردازش کامپیوتری (GPGPU) پشتیبانی میکنند. کمپانی معظم انویدیا که با دو فناوری Tesla و هسته های CUDA وارد این بازی شده و AMD دوست داشتنی نیز از پردازنده های جریانی (Stream Processor) برای پشتیبانی از پردازش کامپیوتری (GPGPU) بهره میگیرد.

انویدیا در این راه چه کرده!؟

اولین تلاش برای دست یابی به GPGPU توسط انویدیا انجام شد و GeForce 256 اولین تراشه گرافیکی ای بود که توسط انویدیا برای این کار طراحی شده بود. این تراشه ها حتی فاقد قابلیت سایه زنی قابل برنامه ریزی بودند بودند! با این حال تلاش ها برای پشتیبانی از از آنچه امروز در انویدیا کودا (CUDA) خوانده میشود از زمان GeForce 256 آغاز شد و باعرضه DirectX 9 به اوج خودش رسید. DirectX 9 با قدرت و انعطاف پذیری بالاتر در معماری سایه زنی قابل برنامه ریزی جهش بسیاری داشت و با معرفی مدهای Direct Shader جزئیات بیشتری برای بهبود کیفیت بصری در خروجی نهایی برای طراحان بازی فراهم میکرد.

کارت-گرافیک-GeForce-256

کارت گرافیک مبتنی بر تراشه GeForce 256

قابلیت هایی همچون انعکاس نور، ایجاد مه و … تنها بخشی از افکت های موجود در Direct Shader بودند که در قالب بسته Shader Model توسط مایکروسافت برای طراحان بازی عرضه شدند. عرضه DirectX 9 منتهی شد به Shader Model 2 که از آن برای به تصویر کشیدن واقعی تر تصاویر استفاده میشد. فعل و انفعالات پیچیده بین منابع نوری، صحنه های واقعی تر در بازی ها، خلق سایه هایی دقیق و دقت و جزئیات بیشتر در تجزیه و تحلیل پردازش منابع نوری از پیشرفت های موجود در این مدل بود.

این فناوری موجب بهبود عملکرد سایه ها در ترکیبات پیچیده شده بود و نتایج شگفت انگیزی به دنبال داشت. تفاوت نسخه دومل مدل سایه زنی با نسخه اولش به اندازه چهار برابر بود و کیفیت سایه ها در نسخه دوم بسیار عالی بود. این مورد در آخرین نسخه از Shader Model به قدری پیشرفت داشته که در بازی های جدید شاهد سایه پردازی بسیار حرفه ای و شبیه به واقعیت هستیم. همچنین این مدل به سازندگان اجازه میدهد تا با استفاده از نرم افزارهای گرافیکی و با سرعتی بسیار بالا نواحی غیر ضروری را حذف کنند تا با سایه های بهینه شده رو به رو شویم.

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

کارت گرافیک GeForce 8800 GTX

کارت گرافیک GeForce 8800 GTX

علاوه بر مشکل فوق، شاهد محدودیت قفل بودن تراشه گرافیکی به DirectX بودیم. بدان معنا که پیاده سازی ویژگی هایی که برای انجام کارهای غیر گرافیکی لازم بود در حیطه استانداردهای DirectX نبود و این پلتفرذم از آن پشتیبانی نمیکرد. اینگونه مشکلات دست به دست هم دادند تا انویدیا برای رهایی از آنها و پیشرفت هر چه بیشتر GPGPU از فریم ورک جدید کودا (CUDA) رونمایی کند. CUDA مخفف Compute Unified Device Architecture است و محیطی است که انویدیا برای برنامه نویسان و برنامه های کاربردی گرافیکیشان طراحی کرده است تا بتوانند برنامه های خود را بر اساس تراشه های گرافیکی (GPU) و زبان C طراحی کنند.

این روش بسیار راحت تر از روش برنامه نویسی سایه ها است. یعنی به جای اینکه برنامه نویس سایه و افکت مورد نظرش را با Shader Model طراحی کند، آن را با زبان منعطف C طراحی میکند تا دیگر نیازی به کدهای گرافیکی نباشد. فریم ورک انویدیا کودا (CUDA) زمانی عرضه شد که GeForce 8800 GTX در بازار جولان میداد! یعنی زمان عرضه اولین نسخه از بازی Bioshock به عنوان یکی از شاخص ترین عناوین گرافیکی زمان خودش مطرح شد. اما اولین تراشه اختصاصی با پشتیبانی از فریم روک کودا (CUDA) تراشه Tesla 870 بود که از قابلیت های مناسبی استفاده میکرد.

در آن زمان پردازنده (CPU) قدرت بسیار زیادی در پردازش های چند رشته ای داشتند و بر عکس تراشه های گرافیکی قدرت بسیاری زیادی در پردازش های حجیمی که به صورت موازی روی صدا رشته عملیاتی (Thread) که بر روی داده های جداگانه ولی هم نوع انجام میشوند، بازدهی بسیار بالایی از خود نشان میدادند. فریم ورک انویدیا کودا (CUDA) زمانی عرضه شد که GeForce 8800 GTX در بازار جولان میداد! یعنی زمان عرضه اولین نسخه از بازی Bioshock که به عنوان یکی از شاخص ترین عناوین گرافیکی زمان خودش مطرح شد.

کارت گرافیک NVIDIA Tesla C870

کارت گرافیک NVIDIA Tesla C870

اما اولین چیپ اختصاصی با پشتیبانی از فریم روک کودا (CUDA) چیپ Tesla 870 بود که از قابلیت های مناسبی استفاده میکرد. در آن زمان پردازنده (CPU) قدرت بسیار زیادی در پردازش های چند رشته ای داشتند و برعکس تراشه های گرافیکی قدرت بسیاری زیادی در پردازش های حجیمی که به صورت موازی روی صدا رشته عملیاتی (Thread) که بر روی داده های جداگانه ولی هم نوع انجام میشوند، بازدهی بسیار بالایی از خود نشان میدادند. البته در حال حاضر با وجود پیشرفت روز افزون تراشه های حاوی گرافیک گرافیک مجتمع (APU)، این تعاریف تقریبا تغییر کرده اند.

زمانی که انویدیا از معماری فرمی (Fermi) رونمایی کرد، آن را یک معماری (GPU Compute Platform) معرفی کرد، نه یک معماری برای پردازنده گرافیکی (Graphic Processor). فرمی معماری قدرتمندی بود که پیشرفت های وسیعی داشت. نتیجه این پیشرفت ها مواردی است که در بالا گفتیم! ساده بگوییم که انویدیا برای اولین بار در معماری فرمی شرایطی برای پردازش های عمومی (نه صرفا گرافیکی) را فراهم کرده بود که بسیار فوق العاده بود. هر چند این پیشرفت ها تا به امروز و روی نسل دوم معماری شاهکار ماکسول (Maxwell) که به Big Maxwell نیز معروف است ادامه داشته و مهمترین پیشرفت های این معماری مربوط به سه مورد Atomic Memory Operation، Unified Memory Architecture و Context Switching است.

به طور کلی از زمان عرضه معماری فرمی (Fermi) تا زمان حال، انویدیا چند باری فریم روک کودا (CUDA) را آپدیت کرده و توانسته با تسلا (Tesla) که بر پایه معماری Fermi طراحی شده، حدود ۱۰۰ میلیون دلار در سال ۲۰۱۱ فروش کند که در آن سال نوعی رکورد محسوب میشد.

صفحه بندی

صفحه اول: تلاش های انویدیا در زمینه پردازش کامپیوتری (GPGPU)

صفحه دوم: تلاش های AMD در زمینه پردازش کامپیوتری (GPGPU)

صفحه بندی 1 2
راي شما
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars
Loading...

نوشته شده در بررسی سخت افزار,کارت گرافیک

آخرین نقد و بررسی ها
بررسی کارت گرافیک ASUS ROG STRIX GTX 1060 OC 6GB

بررسی کارت گرافیک ASUS ROG STRIX GTX 1060 OC 6GB

تاريخ بررسي: ۱۹ مرداد, ۹۶
بررسی کارت گرافیک Zotac GeForce GTX 1080 Ti AMP! Extreme

بررسی کارت گرافیک Zotac GeForce GTX 1080 Ti AMP! Extreme

۶ مرداد, ۹۶

9.6

بررسی کارت گرافیک Palit GTX 1080 GameRock Premium

بررسی کارت گرافیک Palit GTX 1080 GameRock Premium

۲۶ تیر, ۹۶

9.8

بررسی کارت گرافیک Sapphire Radeon RX 580 Nitro

بررسی کارت گرافیک Sapphire Radeon RX 580 Nitro

۲۳ اردیبهشت, ۹۶

9.2

بررسی کارت گرافیک GeForce GTX 1080 Ti Founders Edition

بررسی کارت گرافیک GeForce GTX 1080 Ti Founders Edition

۲۷ اسفند, ۹۵

9.3

روزی سگی، شیری را گفت: با من ستیز کن؛ شیر سر باز زد؛ سگ گفت: نزد تمام سگان خواهم گفت شیر از مقابله با من می هراسد. شیر گفت: سرزنش سگان را خوشتر دارم تا شماتت شیران، که گویند چون شیری باشد که با سگی پنجه در پنجه شده

×
The Evil Within
شاخه: پیشنهاد سردبیر,تحلیل فنی

بررسی فنی | بازی The Evil Within

تــیم گارد3دی

تیم گــارد3دی (Guard3d.com) سعی بر ارائه مطالب متفاوت در زمینه سخت افزار و بازی دارد و امیدوار است در این زمینه بهترین عملکرد را داشته باشد . تیم گـــارد فعالیت خود را به صورت رسمی از تاریخ 2013-10-14 برابر با 1392-07-22 آغاز کرده و تمامی مطالب تولید شده توسط این سایت برای صاحبین آن محفوظ میباشد. کپی مطالب تنها با ذکر نام (Guard3d.com) مجاز است و ما از کپی مطالب بدون ذکر دقیق لینک منبع به صفحه مطلب راضی نیستیم. امیدواریم رضایت شما را جلب کنیم .

شبکه های اجتماعی

کپی رایت 2013 © تمامی حقوق نزد Guard3d محفوظ است | طراحی و کدنویسی توسط hosseincode

error: نمیتوانید کپی کنید!!! فقط لینک صفحه برای آدرس دهی به این مطلب قابل کپی است