پردازنده گرافیکی یا GPU ؟
پردازنده گرافیکی چیست یا Graphic Processor Unit که به اختصار به آن GPU گفته می شود، قطعه ای است که روی کارت های گرافیک و همچنین گرافیک های آنبورد قرار داده می شود. این قطعه به صورت مجزا از CPU کار پردازش و رندرینگ تصاویر را انجام می دهد. کارت گرافیک اطلاعات را برای پردازش تصویر ترجمه میکند و خروجی را روی صفحه نمایش ارایه میدهد. هر چه کارت گرافیک در نمایش تصویر سریعتر باشد، خروجی بصری بهتری خواهیم داشت.
سهم مهمی دارند. جی پی یو با نام های زیر نیز شناخته می شود:
- VPU یا visual processing unit یا واحد پردازش دیداری
- کارت ویدئو یا Video Card
- کارت نمایش یا Display Card
- بورد گرافیکی یا Graphic board
- آداپتور گرافیکی یا Graphic Ada
برای اینکه درباره پردازنده و CPU بیشتر بدانید مقاله “پردازنده یا CPU چیست؟” و “راهنمای خرید CPU” را که حاوی فایل ویدئویی تک تاک است را بخوانید و ببینید.
موارد استفاده از GPU
هر پردازشی که قابلیت موازی سازی در پردازش داشته باشد میتواند از کارت گرافیک استفاده کند. ادیت فایل های گرافیکی، بازی و گیم، عکسبرداری در علوم پزشکی، محاسبات آماری، الگوریتم ها و موتورهای جستجو، دیتا ماینینگ، محاسبات پیچیده فیزیک کوانتوم، معادلات دیفرانسیل، الگوریتم های برنامه های پردازش آب و هوا از این دست برنامه ها هستند. این برنامه ها علاوه بر پردازش موازی، حجم زیادی داده برای پردازش دارند که استفاده از کارت گرافیک را برای آنها مناسب میکند.
GPU در ادیت ویدئو و Enoding Video و رندرینگ ویدئو، برنامه های CAD/CAM مانند اتوکد هم چنین در بازی ها کارایی بالایی دارد.
پردازنده ها قبل از ظهور کارت گرافیک
طبق قانون مور، هر دو سال باید تعداد ترانزیستورهایی که در ساخت تراشه استفاد میشود دو برابر شود. از زاویه دیگر یعنی هر دو سال ابعاد تراشه نصف میشود. واضح است که از نظر فیزیکی محدودیت هایی در نصف شدن ابعاد خواهیم داشت. پردازنده ها به جایی رسیدند که دیگر افزایش سرعت از طریق افزایش فرکانس کاری هسته پردازشی ممکن نبود. محدودیتی به نام چگالی توان باعث میشد دیگر نتوانیم تعداد بیشتری ترانزیستور را در یک نقطه تجمیع کنیم. چگالی توان یعنی دمایی که در یک نقطه در واحد تراشه ایجاد میشود نباید از یک حدی بیشتر باشد وگرنه باعث سوختگی و Fail شدن سیستم میشود. سیستم کولینگ هم پاسخگوی این دمای زیاد نبود و در نتیجه رویکرد قانون مور در شرف شکست بود.
راهکاری که محققین در این زمینه پیش گرفتند ایده ای بود که در سوپر کامپیوترها سال ها استفاده میشد: استفاده از چندین پردازنده برای پردازش؛ مدل چند هسته و چند پردازنده را در یک تراشه CPU پیاده کنند و به جای اینکه یک هسته با قدرت پردازشی زیاد داشته باشیم، چند هسته با مدل پردازش موازی را کنار هم استفاده کنیم. با این راهکار قانون مور پابرجا ماند.
تاریخچه ظهور پردازنده گرافیکی یا GPU
پردازش همه منظوره توسط واحد پردازنده گرافیکی، پدیده ای نو ظهور است و استفاده از پردازنده گرافیکی به سرعت در حال افزایش.در نتیجه در پاسخ به این سوال که “سازنده پردازنده گرافیکی کیست” میتوان گفت گرافیک سیلیکون اولین شرکتی بود که ساخت پردازنده های گرافیکی را آغاز کرد.
بعدها کمپانی Graphic Silicon کتابخانه OpenGL را در قالب استانداردی برای نوشتن برنامههای سه بعدی توسعه داد. این اتفاق باعث به وجود آمدن بازیهای سه بعدی نقش اول مانند Doom گردید. درحالی که تکنولوژی سه بعدی در اغلب بازیهایی که تولید میشد استفاده میگردید، محبوبیت بازیهای نوع شلیک کننده نقش اول به شدت موجب رشد سریع استفاده واحدهای پردازنده گرافیک سه بعدی در کامپیوترهای شخصی شد.
این بازار پر رونق موجبات ظهور شرکتهایی مانند NVIDIA و ATI و ۳dfx شد. ورود کارت گرافیکی ۲۵۶ GeForce NVIDIA موجب افزایش چشمگیر توانایی پردازندههای گرافیکی گردید. برای اولین بار پردازش نورپردازی و انتقال تصاویر مستقیماً روی پردازنده گرافیکی انجام شد. از دیدگاه بسیاری از پژوهشگران، عرضه کارت گرافیک های نسل ۳ GeForce توسط شرکت NVIDIA در سال ۲۰۰۱ نقطه عطفی در تاریخچه تکنولوژی پردازنده گرافیکی است.
سری ۳ GeForce اولین پردازنده های گرافیکی بودند که توانستند واسط برنامه نویسی گرافیکی استاندارد DirectX 8.0 را پشتیبانی کنند. این استاندارد نیازمند توانایی سخت افزار در پشتیبانی از گره ها و پیکسل های قابل برنامهریزی بود.
توسعه کارت گرافیک هایی که دارای خط لوله های قابل برنامه ریزی بودند، بسیاری از محققان را به پیدا کردن روشی سادهتر از برنامهنویسی حول OpenGL و DirectX برای تعامل با پردازنده گرافیکی تشویق کرد.
انواع GPU
پردازنده های گرافیکی به دو دسته مستقل از مادربورد و CPU و با عنوان کارتهای گرافیک، و گرافیک های آنبورد که به مادر بوردها چسبیده اند تقسیم می شوند. مشخص است که پردازنده های گرافیکی مستقل قدرت بیشتر و عملکرد بهتری به نسبت نسخه های آنبورد آن دارند. دلیل آن هم وجود حافظه رم مستقل درون این کارت گرافیک است. یعنی این کارت گرافیک هم از حافظه اختصاصی خود و هم از رم اشتراکی سیستم برای پردازش های خود استفاده می کند.
همچنین این نوع از کارت های گرافیک قابل ارتقا نیز هستند. در حالی که gpu های آنبورد به مادربورد خود وابسته هستند و امکان ارتقای آنها وجود ندارد. پردازنده های گرافیکی علاوه بر پردازش تصاویر و فایلهای گرافیکی میتوانند به پردازش های دیگر که در سیستم انجام میشود نیز به پردازنده اصلی کمک کنند. پس gpu فقط مصرف گرافیکی ندارد.
گفتگوی TechTalk: پردازنده های گرافیکی و GPU
عناوین مهمی که در این ویدئوی ۱۶ دقیقهای میبینید در ادامه آمده است:
عناوین مورد بررسی:
- قانون مور چیست؟
- تاریخچه ظهور پردازنده گرافیکی GPU
- اولین کارت گرافیک توسط انویدیا ارایه شد
- سایه زن پیسکل یا Pixel Shader چیست؟
- معماری CUDA چیست؟
- تفاوتGPU و CPU در پردازش
معماری و نحوه عملکرد جی پی یو
حدود ۵ سال بعد از انتشار سری ۳ GeForce پردازش از طریق پردازنده گرافیکی وارد عصر تازهای شد. در نوامبر ۲۰۰۶ شرکت NVIDIA با معرفی معماری CUDA برای کارت گرافیک های خود فصل تازهای را در برنامهنویسی پردازنده گرافیکی گشود.
کاربران، دیگر برای تعامل با پردازنده گرافیکی نیازی به یادگیری و تسلط بر واسط های OpenGL و DirectX نداشتند. در سال ۲۰۰۷ در بسیاری از صنایع و علوم تحقیقاتی برنامههایی به زبان C CUDA نوشته شد که نتایج درخشانی را در استفاده از پردازنده گرافیکی به عنوان پردازنده همه منظوره به دنبال داشت. دیری نپایید که برنامه نویسی به زبان CUDA به زمینهای پر رونق در بازار برنامهنویسی تبدیل شد.
.
مقایسهای از میزان استفاده از پردازنده گرافیکی و معماری CUDA در سالهای ۲۰۰۸ و ۲۰۱۳ در تصویر زیر نشان داده شده است. پردازنده های گرافیکی دارای معماری CUDA از ۱۰۰ میلیون به ۴۳۰ میلیون رسید، دانلود ابزار CUDA از ۱۵۰ هزار به ۶/۱ میلیون رسید و مقالاتی که در این زمینه عرضه شد از ۶۰ مقاله به ۳۷۰۰۰ مقاله رسید که همگی خبر از محبوبیت بالای معماری CUDA و کاربردی بودن آن در زمینههای مختلف میداد.
از سال ۲۰۰۱ به بعد پردازنده های گرافیکی برای تولید رنگ پیکسل های تصاویر، طراحی میشدند، آنها برای این کار از واحدهای محاسباتی قابل برنامه ریزی به نام سایه زن پیکسل یا Pixel Shader استفاده میکردند. در حالت عادی، یک سایه زن پیکسل از موقعیت پیکسل در صفحه (y,x )به اضافه مجموعهای از اطلاعات ورودی برای تولید رنگ نهایی پیکسل استفاده میکند. اما محاسبات و پردازش روی رنگ ورودی پیکسل و متن نوشتار انجام میشد و برنامه نویسان کنترلی روی این ورودی ها نداشتند و مکانیزمی مناسب برای خطایابی کد نبود.
تفاوت CPU و GPU در پردازش
فرض کنید بار سنگینی دارید و میخواهید آن را جا به جا کنید. دو راهکار داریم: با سه تا فیل آن را جابجا کنیم و یا با لشگری از موش ها. سه فیل نمادی از CPU سه هسته ای است و لشگری از موش ها نمادی برای پردازنده گرافیکی.
یکی از تفاوت های پردازش در CPU با GPU این است که اگر یکی از فیل ها را از دست بدهیم با مشکل جدی روبرو میشویم: جایگزینی آن فیل برایمان دردسرساز شود و از رده خارج شدن یک فیل، روی کار دو فیل دیگر تاثیرگذار است؛ در کل قدرت پردازشی به شدت کاهش مییابد. اما اگر موشی را از دست بدهیم تغییر خاصی در پردازش GPU ایجاد نمیشود و مثلا اگر برنامه ای به هر دلیلی با مشکلی مواجه شود در صورت استفاده از GPU مشکل آن چنانی پیش نخواهد آمد و پردازش متوقف نمیشود.
مثلا روی GTX 480 نزدیک به ۱۰۲۴ تا Stream Multi Processor داریم که به عنوان هسته محسوب میشود. قدرت هر هسته در GPU از قدرت هسته در CPU به مراتب کمتر است.
.
پهنای باند GPU از پهنای باند CPU بسیار بالاتر است. یعنی پردازش های با حجم بالا روی GPU بسیار بهتر است تا روی CPU انجام شود.
مهترین مساله ای که در GPU مطرح است این است که GPU برای پردازش موازی ساخته شده است یعنی اگر الگوریتم و برنامه ای که اجرا میکنیم سری باشد و قابلیت موازی سازی بالا نداشته باشد، اولا اصلا اجرا نمیشود و دوم اینکه اجرای آن روی GPU به صرفه نیست و سرعت را کاهش خواهد داد.
مقایسه پردازنده های گرافیکی
مقایسه پردازنده های گرافیکی از جمله نکات مهم و اساسی در انتخاب و خرید کارت گرافیک مناسب است. AMD و انویدیا و ASUS و Gigabyte و MSI هر ساله محصولات جدیدی با انواع کارایی و سرعت ارایه میدهند و این کار انتخاب و خرید را برای کاربر سخت میکند. بین محصولات AMD و انویدیا همواره تفاوت های زیادی وجود دارد و هر کدام برای کاربری خاصی در نظر گرفته شده است. برای مقایسه کارت گرافیک های انویدیا مقاله “معرفی کارت گرافیک های NVIDIA رده بندی و نسل های آنها” را مطالعه کنید.
برای مقایسه کارت گرافیک های انویدیا و AMD با توسعه شبکه آداکهمراه شما هستیم تا با بهترین پردازنده گرافیکی آشنا شوید. در ادامه لیست مهمترین کارت گرافیک های سال ۲۰۱۹ دو شرکت بزرگ Nvidia و AMD را ارایه میدهیم.
مهمترین کارت گرافیک های انویدیا در سال ۲۰۱۹
مهمترین کارت گرافیک های AMD در سال ۲۰۱۹
APU ایپییو چیست؟
در سال ۲۰۱۱ تولید کننده بزرگ کارت گرافیک یعنی AMD پردازنده APU را عرضه کرد. APU مخفف Accelerated Processing Unit و به معنی واحد پردازش شتاب یافته است. APU در واقع ترکیب CPU و GPU در یک چیپ است.
سال ها بود که CPU ها محاسبات غیرگرافیکی را انجام میدادند و GPU ها کارهای گرافیکی. با افزایش کارایی GPU ها، تولیدکنندگان سخت افزار و برنامه نویسان نرم افزار متوجه شدند که GPU ها پتانسل بلااستفاده دارند در نتیجه به دنبال راهی بودند تا محاسبات سیستمی خاصی را روانه GPU کنند. این تکنولوژی همان پردازش موازی است که بالاتر به آن اشاره کردیم.
در پردازنده های اینتل، نامی از APU در میان نیست اما در معماری مدرن اینتل مانند Sandy Bridge و Ivy Bridge، سی پی یو و جی پی یو با هم مجتمع شدهاند. گاهی این چیپ ها پردازنده هیبریدی هم مینامند چون هم واحد پردازنده مرکزی دارند و هم واحد پردازش گرافیکی.
نام اولین نسل AMD APU ها Llano و نام نسل کنونی آن Picasso پیکاسو است که جایگزین پردازنده های Raven Ridge (سی پی یو های AMD که گرافیک Radeon Vega را به صورت آنبورد دارند) شده است. نتیجه این که AMD در برندینگ خودش دیگر از APU استفاده نمیکند.
تفاوت cpu و gpu و apu
APU ها با حذف باس بین CPU و GPU و ترکیب این دو در یک چیپ، اولین قدم را برداشت. باس به خودی خود گلوگاه اصلی در پردازش موازی است و کارایی APU در این زمینه از CPU و GPU بیشتر است. اما این استراتژی برای کامپیوترهای رومیزی که کارت گرافیک خاص خود دارند مناسب نیست و بیشتر برای لپ تاپ ها و موبایل ها که چیپ گرافیکی مجتمع دارند کارایی مناسبی فراهم میکند.
افزایش توان و کارایی پردازشی، کاهش مصرف برق، کاهش گرمای تولیدی، کم شدن هزینه تولید و اشغال فضای کمتر از مزایای استفاده از APU است. در لپ تاپ ها کاهش مصرف برق روی شارژ و عمر باتری بسیار موثر است.
APU میتواند جایگزین خوبی برای کارت گرافیک های معمولی و سی پی یو باشد اما برای کاربری های حرفهای مانند گیمرها راهکار خوبی نیست. از طرفی چون دو پردازنده در یک چیپ قرار گرفتهاند اگر از حداکثر توان APU استفاده شود، گرمای زیادی تولید میشود که کاربران حرفهای مثل آورکلاکر ها را راضی نمیکند.