واحد پردازش گرافیکی – توابع محاسباتی و معماری آن

0

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

واحد پردازش گرافیکی چیست؟

 

واحدهای پردازشی برای انجام محاسبات در یک دستگاه محاسباتی به کار گرفته می شوند. با پیشرفت مفاهیم فناوری مانند تصاویر سه بعدی ، پخش ویدئو با کیفیت بالا ، گرافیک و غیره معرفی می شود. برای پیاده سازی این مفاهیم در یک دستگاه سخت افزاری باید عملیات ریاضی بزرگ و پیچیده ای انجام شود و با سرعت بیشتری انجام شود.

 

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

توابع محاسباتی

 

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

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

به نظر می رسد واحدهای پردازش گرافیکی ۲۵۰ برابر سریعتر از پردازنده هستند. در رمز گشایی ویدیوی شتابدهنده GPU ، GPU بخش هایی از فرآیند رمزگشایی فیلم و پردازش ویدیو را انجام می دهد. API متداول برای این منظور DxVA ، VDPAU ، VAAPI ، XvMC ، XvBA است. در اینجا DxVA برای سیستم عامل مبتنی بر ویندوز و مابقی مربوط به سیستم عامل های مبتنی بر لینوکس و یونیکس است. XvMC فقط می تواند فیلم های رمزگذاری شده با MPEG-1 و MPEG-2 را رمزگشایی کند.

فرآیندهای رمزگشایی فیلم که توسط GPU انجام می شود به شرح زیر است:

  • جبران حرکت
  • معکوس تبدیل کسینوس معکوس
  • تبدیل کسینوس گسسته اصلاح شده معکوس.
  • فیلتر رفع اشکال درون حلقه
  • پیش بینی قاب داخل
  • کمیت معکوس
  • رمزگشایی با طول متغیر
  • تغییر مکان فضایی – زمانی
  • منبع بینابینی به صورت خودکار
  • پردازش Bitstream
  • موقعیت مناسب پیکسل

معماری واحد پردازش گرافیکی

 

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

معماری واحد پردازش گرافیکی
معماری واحد پردازش گرافیکی

 

برخلاف CPU که شامل دو تا هشت هسته سی پی یو است ، GPU از صدها هسته کوچکتر تشکیل شده است. همه این هسته ها در پردازش موازی با هم کار می کنند. برای استفاده موثر از توابع معماری محاسبات موازی GPU ، توسعه دهندگان برنامه در NVIDIA یک مدل برنامه نویسی موازی با نام “CUDA” طراحی کرده اند.

معماری GPU بر اساس مدل آن متفاوت است. معماری کلی GPU از خوشه های پردازش چندگانه تشکیل شده است. این خوشه ها حاوی چند پردازنده چند جریان هستند. در اینجا ، هر یک از چند پردازنده جریان دارای یک لایه از حافظه نهان آموزش لایه-۱ به همراه هسته های مرتبط با آن است.

فرم های GPU

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

بیشتر GPU با توجه به کاربرد آنها مانند پردازش گرافیکی سه بعدی ، بازی و غیره طراحی شده است .GeForceGTX به طور خاص برای بازی طراحی شده است ، Nvidia Titan برای محاسبات ابری طراحی شده است ، Nvidia Quadro برای ایستگاه های کاری و انیمیشن های سه بعدی طراحی شده است ، انویدیا تسلا برای cloud طراحی شده است. ایستگاه کاری و آموزش هوش مصنوعی ، Nvidia Drive PX طراحی شده برای اتومبیل خودکار و غیره…

کارت گرافیک اختصاصی

 

سیستم های دارای GPU اختصاصی به عنوان “سیستم های DIS” شناخته می شوند. در اینجا اختصاص داده شده به این واقعیت اشاره دارد که این تراشه های GPU دارای رم اختصاصی هستند که بطور انحصاری توسط کارت استفاده می شوند. اینها معمولاً با استفاده از شیارهای بسط مانند PCI Express یا پورت گرافیکی شتاب با مادربرد در ارتباط هستند. این تراشه ها به راحتی جایگزین یا به روز می شوند. به دلیل محدودیت اندازه و وزن GPU اختصاصی در رایانه های قابل حمل از طریق یک شکاف غیر استاندارد به هم متصل می شوند.

واحد پردازش گرافیک مجتمع

 

این نوع GPU دارای یک واحد RAM اختصاصی نیست. در عوض ، از بخشی از حافظه کامپیوتر برای عملکرد خود استفاده می کند. این پردازنده گرافیکی می تواند به عنوان بخشی از چیپست آن یا مادربرد ساخته شود یا بر روی همان قالب با پردازنده ساخته شود. اینها از ظرفیت گرافیکی کمتری نسبت به کارت گرافیک اختصاصی برخوردارند اما نسبت به اجرای آن هزینه کمتری دارند. Intel HD Graphics و واحد پردازش شتاب AMD نمونه هایی از این پردازنده گرافیکی است.

پردازش گرافیکی ترکیبی

 

عملکرد این پردازنده گرافیکی بین کارت گرافیک اختصاصی و کارت گرافیک یکپارچه نهفته است. این از بخشی از حافظه سیستم استفاده می کند و همچنین از حافظه نهان اختصاصی کوچک برخوردار است. این حافظه پنهان اختصاصی باعث تاخیر زیاد RAM می شود. حافظه هایپر ATI و TurboCache انویدیا معمولاً واحدهای پردازشی گرافیکی ترکیبی هستند.

پردازش جریان و پردازش کلی GPU

 

اینها معمولاً به عنوان GPGPU خوانده می شوند. واحد پردازش گرافیکی با هدف کلی معمولاً به عنوان پردازنده جریان اصلاح شده برای انجام هسته های رایانه استفاده می شود. با استفاده از این مفهوم از قدرت محاسباتی گسترده سایه بان شتاب دهنده گرافیکی مدرن به عنوان قدرت محاسباتی با هدف کلی استفاده می شود. برای انجام عملیات برداری گسترده ، این روش عملکرد بالاتری نسبت به یک CPU ساده دارد.

GPU خارجی

 

مشابه یک هارد اکسترنال بزرگ ، این واحد پردازش گرافیکی نیز در خارج از واحد رایانه وجود دارد. اینها همچنین به صورت خارجی به رایانه های لپ تاپ متصل هستند. لپ تاپ ها معمولاً مقدار مناسبی از رم و یک CPU به اندازه کافی قدرتمند دارند. در عوض یک لپ تاپ پردازنده گرافیکی قدرتمند با یک تراشه گرافیکی پردازنده کمتر قدرتمند اما با انرژی کارآمدتر تعبیه شده است. اینها به اندازه کافی قدرتمند نیستند که بتوانند گرافیک بازی را انجام دهند و از گرافیک بالاتر پشتیبانی نمی کنند. بنابراین ، این پردازنده گرافیکی خارجی برای عملکردهای بالاتر از لپ تاپ ها استفاده می شود.

 

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

سؤالات متداول

 

۱) آیا GPU یک کارت گرافیک است؟

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

۲) CPU یا GPU سریعتر کدام است؟

امروزه GPU با واحدهای حافظه بزرگتر ، قدرت پردازش بیشتر و پهنای باند حافظه بزرگتر در مقایسه با CPU سنتی در دسترس است. بنابراین ، GPU تقریباً ۵۰ تا ۱۰۰ برابر سریعتر از CPU است.

۳) GPU چند هسته دارد؟

GPU محاسبات موازی را انجام می دهد. صدها هسته کوچکتر با هم کار می کنند. این محاسبات گسترده موازی قدرت پردازشی برتر را به GPU می دهد.

۴) آیا RTX یا GTX بهتر است؟

در مقایسه با GTX 1080 Ti ، RTX 2080 از فناوری جدیدتری برخوردار است و عملکرد بهتر و سریعتری را ارائه می دهد. RTX در مقایسه با GTX در هزینه کمتری است.

۵) آیا یک GPU می تواند CPU را جایگزین کند؟

GPU سریعتر از CPU است. آنها با انجام بسیاری از کارها به طور هم زمان ، خیلی سریع کار را انجام می دهند. اما فقط می تواند برخی از فرکانس های بالاتر را انجام دهد و همه اجرای دیگر مانند تغییر وقایع ، ذخیره سازی داده ها توسط CPU انجام می شود. خیر ، GPU نمی تواند یک CPU را جایگزین کند.

ممکن است شما دوست داشته باشید