پردازنده گرافیکی یا GPU، یک مدار الکترونیکی است که برای سرعت بخشیدن به گرافیک کامپیوتری و پردازش تصویر در دستگاههای مختلف از جمله کارتهای ویدئویی، مادربردها، تلفنهای همراه و رایانههای رومیزی (PC) و لپ تاپ بکار میرود. این قطعه که با نامهای کارت گرافیک و واحد پردازش گرافیکی نیز شناخته میشود، وظیفه اجرا کردن تصاویر بر روی مانیتور یا نمایشگر را بر عهده دارد و هر چقدر با تکنولوژی قدرتمندتری طراحی شده باشد، تصاویر و دادههای گرافیکی سنگین را با کیفیت بالاتری پردازش میکند.
در ادامه این مقاله از مجله تکنولوژی لیپک با ما همراه باشید تا بیشتر با نقش GPU و کاربردهای گسترده این قطعه سختافزاری آشنا شوید.
GPU که کوتاه شده عبارت Graphics Processing Unit است، بهعنوان یک تراشه کامپیوتری با انجام محاسبات سریع ریاضی، دادههای گرافیکی و تصویری را اجرا میکند. در ابتدا واحد پردازش گرافیکی، وظیفه رندر کردن تصاویر، انیمیشنها و ویدیوهای دوبعدی و سهبعدی را بر عهده داشت، اما در حال حاضر قطعهای پرکاربردتر محسوب میشود و در بسیاری از زیرشاخههای علمی و صنعتی استفاده میشود.
یک دستگاه الکترونیکی مانند لپ تاپ یا گوشی هوشمند با یک GPU یکپارچه یا مجزا میتواند گرافیک سهبعدی و محتوای ویدیویی را به نرمی ارائه دهد و سیستم را برای اجرای بازی و سایر برنامههای بصری آماده سازد. با گذشت زمان، پیشرفت فناوری منجر به ساخت GPUهای انعطافپذیر و قابل برنامهریزی شده که میتواند برای برنامهها و بارهای گرافیکی سنگینتری به جز بازی مورد استفاده قرار گیرد. برخی از کاربردهای پردازندههای گرافیکی حال حاضر شامل تولید محتوای بصری، ویرایش ویدیو، محاسبات با کارایی بالا (HPC) و هوش مصنوعی (AI) میباشد که در ادامه به آنها میپردازیم.
پردازندههای گرافیکی (GPU) و پردازندههای مرکزی (CPU) از نظر ساخت، تقریباً مشابه هستند. با این حال، پردازندههای مرکزی برای پاسخگویی و پردازش دستورالعملهای اساسی که یک کامپیوتر را هدایت میکنند استفاده میشوند؛ در صورتی که پردازندههای گرافیکی بهطور خاص برای ارائه سریع تصاویر و ویدیوهای با وضوح بالا (محتوای بصری) طراحی شدهاند.
بهعبارتی، CPUها مسئول تفسیر بیشتر دستورات کامپیوتر هستند، در حالی که GPUها محاسبات ریاضی و هندسی پیچیدهتری را برای تمرکز بر رندر گرافیکی و سایر برنامههایی که نیاز به محاسبات فشرده دارند، انجام میدهند.
هر دو پردازنده با تعداد هسته و ترانزیستور متفاوت تولید میشوند اما CPU از هستههای کمتری برای پردازش استفاده میکند و وظایف را به صورت متوالی انجام میدهد. در مقابل، GPU با داشتن صدها یا هزاران هسته (و گاهاً با ترانزیستورهای بیشتر)، امکان پردازش موازی و خروجی گرافیکی سریعتر را فراهم میکند.
علاوهبر این، CPU سرعت کلاک بالاتری دارد، به این معنی که میتواند محاسبات واحد را سریعتر از یک GPU انجام دهد، بنابراین اغلب برای انجام وظایف محاسباتی اولیه مناسبتر است. برای اطلاعات بیشتر پیشنهاد میکنیم مقاله جامع پردازنده یا CPU چیست؟ را مطالعه کنید.
با اینکه نام واحد پردازش گرافیکی و کارت گرافیک اغلب به جای یکدیگر استفاده میشود، اما باید توجه داشته باشید که این دو با هم یکی نیستند. کارت گرافیک یک برد افزودنی (AIB) است که در مکانی روی مادربرد قرار میگیرد. از طرفی این کارتها در خود کامپیوتر تعبیه نشده و قابل تعویض و ارتقاء هستند. ساختار هر کارت گرافیک به همراه یک GPU کامل میشود.
از طرفی GPU جزء اصلی کارت گرافیک است و در کنار سایر مؤلفهها مانند رم ویدیویی (VRAM) برای حافظه ویدیویی، پورتها (مانند HDMI یا DisplayPort) و یک مؤلفه خنککننده نصب میشود. با این حال، یک GPU میتواند مستقیماً در مادربرد هم قرار گیرد یا بهعنوان یک تراشه همهکاره در کنار سایر اجزاء یکپارچهسازی شود.
GPUها با استفاده از روشی به نام پردازش موازی کار میکنند که از طریق مدیریت یک کار واحد توسط چندین پردازنده جداگانه انجام میگیرد. هر GPU همچنین دارای حافظه رم مخصوص به خود برای ذخیره دادههای در حال پردازش است. این رم بهطور خاص برای نگهداری مقادیر زیادی از اطلاعات وارد شده به GPU در صورت استفاده از گرافیک بسیار فشرده طراحی شده است.
هر GPU بسته به هدف، سازنده، مشخصات تراشه و نرمافزار مورد استفاده جهت هماهنگی با GPU عملکرد متفاوتی دارد؛ اما بهطور کلی، برای اجرای برنامههای گرافیکی ابتدا CPU (پردازنده مرکزی) دستورالعملهایی را جهت ترسیم محتوای بصری روی صفحه به GPU ارسال میکند و سپس پردازنده این دستورها را بهصورت موازی و سریع برای نمایش محتوا در دستگاه به اجرا در میآورد که به این فرآیند اصطلاحاً رندر (Render) گفته میشود.
پردازندههای گرافیکی میتوانند تراشههای مستقلی به نام GPU مجزا باشند، یا بهعنوان GPU یکپارچه (iGPU) با سایر سختافزارهای محاسباتی مادربرد ادغام شوند.
این مدل پردازنده گرافیکی که بهصورت تراشه مستقل است، تنها وظیفه انجام یک کار مشخص را بر عهده داشته است. با اینکه این وظیفه خاص در ابتدا کاملاً گرافیکی بوده، اما در طول زمان تغییر کرده و اکنون از GPUهای مجزا برای پردازشهای اختصاصیتری همچون یادگیری ماشین (ML) یا شبیهسازی پیچیده نیز استفاده میشود.
در سیستمهای گرافیکی، GPU معمولاً روی یک کارت گرافیک قرار میگیرد که درون مادربرد است. اما در سایر سیستمها ممکن است GPU روی کارت یا اسلاید دیگری مستقیماً در مادربرد نصب شود.
در اوایل دهه 2010 نوع جدیدی از پردازندههای گرافیکی به نام iGPU که ترکیبی از CPU و GPU بر روی یک تراشه بود، معرفی شد و مورد استقبال فراوانی قرار گرفت. اولین موارد استفاده از پردازندههای یکپارچه برای کامپیوتر، سری Celeron ،Pentium و Core اینتل بودند.
همچنین سیستم روی تراشه (SoC)، نوع دیگری از iGPU است که شامل اجزایی مانند CPU ،GPU، حافظه و شبکه میشود و معمولاً در ساختار گوشیهای هوشمند بکار میرود. گرافیک یکپارچه عملکرد ضعیفتری نسبت به نمونه مجزا دارد اما برای کارهای سبک و معمول مناسب و اقتصادی است. ضمناً سیستمهای دارای گرافیک یکپارچه، امکان ارتقای GPU را ندارند.
مانند سایر زیرساختهای سختافزاری محاسباتی، GPUها نیز قابلیت مجازی شدن دارند. پردازندههای گرافیکی مجازی، نمایشی مبتنی بر نرمافزار از یک GPU هستند که فضا را در کنار سایر GPUهای مجازی در سرورهای ابری به اشتراک میگذارند. از پردازندههای مجازی میتوان برای اجرای بارهای کاری بدون داشتن نگرانی در مورد تعمیر و نگهداری سختافزاری آنها استفاده کرد.
این نوع GPU همچون یک کیس کوچک است که به لپتاپ و کامپیوتر وصل شده و قدرت پردازش گرافیکی سیستم را ارتقا میدهد. برای متصل کردن eGPU به لپتاپ یا کامپیوتر میتوان از پورتهای Thunderbolt 3 یا USB-C استفاده کرد.
در حالی که مشخصات GPU و معیارهای تئوری به شما کمک میکند بین مدلهای مختلف GPU تمایز قائل شوید، آزمایشهای عملی بهترین راه برای انتخاب بهترین کارت گرافیک با GPU قدرتمند میباشد. در این بخش، بهطور مختصر و مفید، مشخصات فنی و اجزای داخلی GPU را توضیح داده و نقش اعداد هر شاخص در قدرت پردازشی آن را بررسی میکنیم.
پردازندههای گرافیکی از هزاران هسته یا عنصر پردازشی مرتب شده در خوشهها تشکیل شدهاند. این خوشهها در واحدهایی به نام واحدهای محاسباتی گروهبندی میشوند و قادرند میلیونها دستورالعمل را بهطور همزمان اجرا کنند (برخلاف هستهها و رشتههای CPU که در هر لحظه فقط یک دستور پیچیده در هر رشته را مدیریت میکنند). هرچه تعداد هستههاب GPU بیشتر باشد عملکرد آن بهتر و سریعتر خواهد بود. هستههای کارت گرافیک AMD با اسم Stream Processors و هستههای Nvidia با اسم CUDA cores نامگذاری شدهاند. اطلاعات بیشتر را در مقاله تفاوت کارت گرافیک AMD و Nvidia مطالعه کنید.
اندازه رم ویدیویی یا VRAM (به گیگابایت) مقدار حافظه بصری روی یک کارت گرافیک است که مسئول حفظ فریم بافر، اطلاعات بافت و سایر دادههای گرافیکی است. اگر رم ویدیویی موجود در GPU شما پر شود، با کاهش سرعت عملکرد مواجه خواهید شد.
نوع حافظه نیز برای عملکرد GPU مهم است. پردازندههای گرافیکی مدرن دارای حافظه GDDR6 یا GDDR6X سریعتر و کارآمدتر هستند، در حالی که مدلهای قدیمیتر دارای حافظه GDDR5 هستند. در نهایت، پهنای گذرگاه حافظه (Bus width)، انتقال داده بین GPU و VRAM را تسهیل میکند. پهنای گذرگاه بیشتر امکان انتقال سریعتر دادهها را فراهم میکند که تاثیر خود را در رزولوشنهای بالاتر و در کارهای پیچیده با پردازنده گرافیکی نشان میدهد.
اندازه و نوع حافظه و پهنای گذرگاه با هم پهنای باند GPU را تعیین میکنند که بر حسب GB/s اندازهگیری میشود.
FP32 یا دقت تکممیز شناور یکی از روشهای استاندارد برای اندازهگیری عملکرد محاسباتی برای پردازندههای گرافیکی است؛ که روشی تئوری برای مقایسه عملکرد در بین پردازندههای گرافیکی تولیدکنندگان و نسلهای مختلف ارائه میدهد. FP32 که بر حسب ترافلاپس (TFLOPS) اندازهگیری می شود و بیان میکند که یک GPU چند عملیات ممیزی شناور را در یک ثانیه انجام می دهد. 1 TFLOP معادل یک تریلیون عملیات ممیز شناور در ثانیه است.
TFLOPS ممکن است عملکرد ریاضی یک GPU را نشان دهد، اما بیانگر تصویر کامل آن نخواهد بود. عوامل دیگری نیز بر عملکرد GPU تأثیر میگذارند اما عملکرد FP32 هنوز یک معیار مفید برای دریافت یک ایده کلی در مورد قدرت یک GPU است.
مشخصات دیگری نیز برای بررسی عملکرد GPU وجود دارد که در درجه اهمیت پایینتری قرار داشته اما میتوانند در تصمیمگیری نهایی موثر باشند.
پردازندههای گرافیکی را میتوان در طیف وسیعی از برنامههای محاسباتی فشرده از جمله امور مالی در مقیاس بزرگ، برنامههای کاربردی دفاعی و فعالیتهای تحقیقاتی استفاده کرد. در اینجا برخی از رایجترین کاربردهای حال حاضر پردازندههای گرافیکی آورده شده است.
صنعت بازی برای اولین بار در دهه 1990 از قدرت GPUها استفاده کرد تا تجربه کلی بازی را با سرعت و دقت گرافیکی بیشتر بهبود دهد. امروزه، بازیهای کامپیوتری به دلیل سناریوهای فوق واقعی، تعاملات بیدرنگ و جهانهای گسترده و پرجزئیات، بسیار محاسباتی و فشرده شدهاند. از همین رو ویژگیهایی مانند واقعیت مجازی (VR)، نرخ تازهسازی (ریفرش ریت) بالاتر و صفحهنمایش با وضوح بیشتر، برای ارائه سریع گرافیک در محیطهای محاسباتی بزرگتر و سختتر به GPUها وابسته هستند.
بهطور سنتی، زمان زیاد رندرگیری یک مانع بزرگ در برنامههای کاربردی ویرایش ویدیوی ساده و حرفهای بوده است. از همان ابتدای ساخت GPU، بهطور پیوسته زمان پردازش و منابع محاسباتی را در نرمافزارهای ویرایش ویدیوی محبوب مانند Final Cut Pro و Adobe Premiere کاهش دادهاند. امروزه پردازندههای گرافیکی مجهز به پردازش موازی و هوش مصنوعی داخلی، قابلیتهای ویرایش را برای همه چیز از مجموعههای ویرایش حرفهای گرفته تا برنامههای گوشی هوشمند، سرعت میبخشند.
بهبود در پردازش، عملکرد و کیفیت گرافیک، GPUها را به بخشی ضروری از تحول صنعت تولید محتوای بصری تبدیل کرده است. امروزه، خالقان محتوای مجهز به سیستم دارای گرافیک باکیفیت و اینترنت پرسرعت میتوانند محتوایی واقعی تولید کرده، آن را با هوش مصنوعی و یادگیری ماشینی تقویت، ویرایش و در اسرع وقت برای مخاطبان زنده پخش کنند. همه اینها تا حد زیادی به لطف پیشرفت در فناوری GPU امکانپذیر شده است.
پردازندههای گرافیکی در بسیاری از صنایع برای افزایش تجربه و قابلیتهای آموزشی برنامههای پیچیده و حرفهای از جمله توضیحات محصول، نقشههای CAD و تصویربرداری پزشکی و لرزهای/ژئوفیزیکی، تقاضای بالایی دارند. GPUها در تصویرسازیهای پیشرفته مورد استفاده در آموزش حرفهای آتشنشانان، فضانوردان، معلمان مدرسه و دیگران با انیمیشنهای سهبعدی، رندرینگ پیشرفته و تجربیات واقعیت مجازی فوق واقعی (VR) و واقعیت افزوده (AR) حیاتی هستند.
علاوهبر این، مهندسان و دانشمندان آب و هوا از برنامههای شبیهسازی مجهز به پردازندههای گرافیکی پیشرفته برای پیشبینی شرایط جوی، دینامیک سیالات، اخترفیزیک و نحوه رفتار خودروها در شرایط خاص استفاده میکنند. یکی از قدرتمندترین پردازندههای گرافیکی موجود برای این اهداف، تراشه Nvidia Geforce RTX است که عمدتاً برای تصویرسازی علمی و اکتشاف انرژی ساخته شده است.
استفاده از هوش مصنوعی و بسیاری از کاربردهای آن بدون فناوری GPU غیر ممکن به نظر میرسد؛ زیرا توانایی پردازندههای گرافیکی نسبت به CPUهای سنتی در حل سریعتر و کارآمدتر مشکلات فنی، وجود آنها را ضروری میسازد. پردازندههای گرافیکی نقش مهمی در بسیاری از برنامههای کاربردی پیشرو هوش مصنوعی مانند ابررایانه هوش مصنوعی IBM Vela ایفا میکنند که برای آموزش در مجموعههای عظیمتر دادهها به سرعت بالایی نیاز دارند. در واقع مدلهای هوش مصنوعی بر روی پردازندههای گرافیکی مرکز داده آموزش و اجرا میشوند که معمولاً توسط شرکتهایی که تحقیقات علمی یا سایر وظایف محاسباتی را انجام میدهند، اداره میشوند.
یادگیری ماشینی یا ML به رشته خاصی از هوش مصنوعی اشاره دارد که با استفاده از دادهها و الگوریتمها سعی میکند از روش یادگیری انسانها تقلید کند. یادگیری عمیق یا DL زیرمجموعهای از ML است که از شبکههای عصبی برای شبیهسازی فرآیند تصمیمگیری مغز انسان استفاده میکند. فناوری GPU برای پیشرفت تکنولوژی هر دو حوزه حیاتی است.
وقتی صحبت از ML و DL به میان میآید، پردازندههای گرافیکی توانایی مدلها را برای مرتبسازی مجموعه دادههای عظیم و استنتاج از آنها به روشی مشابه انسانها تقویت میکنند. بهعبارتی، GPUها با مقادیر زیادی از محاسبات همزمان بهطور خاص بخشهای حافظه و بهینهسازی را افزایش میدهند. علاوهبر این، پردازندههای گرافیکی مورد استفاده در ML و DL از منابع کمتری نسبت به CPUها بدون کاهش قدرت یا دقت بهره میبرند.
بلاکچین، شبکه محبوبی که برای ثبت تراکنشها و ردیابی داراییهای تجاری استفاده میشود، بهشدت به فناوری GPU متکی است، بهویژه وقتی صحبت از مرحلهای به نام «اثبات کار (Proof of work)» به میان میآید. در بسیاری از بلاکچینهای پرکاربرد مانند ارزهای دیجیتال، مرحله اثبات کار برای اعتبارسنجی یک تراکنش حیاتی است و به آن اجازه میدهد تا بخشی از شبکه زنجیرهای مالی شود.
GPU یک واحد پردازش گرافیکی است که در اصل برای تسریع رندر گرافیکی طراحی شده است. پردازندههای گرافیکی میتوانند بسیاری از دادهها را بهطور همزمان پردازش کرده و آنها را برای انجام فرایندهای یادگیری ماشین، ویرایش ویدیو و برنامههای سنگین و حجیم آماده سازند. GPUها با پیشرفت تکنولوژی استفادههای گستردهتری پیدا کردهاند و امروز در ادغام با هوش مصنوعی، به بخش جذاییناپذیری از طراحیهای بزرگ و برنامهنویسیهای پیچیده تبدیل شدهاند.
واحد پردازش گرافیکی (GPU) یک مدار الکترونیکی است که میتواند محاسبات ریاضی را برای وظایفی مانند رندر گرافیکی، یادگیری ماشینی (ML) و ویرایش ویدئو با سرعت بالا انجام دهد.
هر نسل جدید از پردازندههای گرافیکی با هستههای قدرتمندتری عرضه میشود، بهطوری که یک GPU سطح بالا میتواند هزاران هسته داشته باشد.
پردازندههای گرافیکی با برخورداری از تعداد بالایی هسته، برای کارهای بصری و گرافیکی مانند رندر گرافیک سهبعدی، رندرینگ ویدیو و گیم بهینه شدهاند.
یک GPU میتواند کارهای ساده و تکراری را خیلی سریعتر انجام دهد، زیرا کار را به اجزای کوچکتر تقسیم کرده و آنها را بهصورت موازی به پایان میرساند.
منابع: ibm.com | techtarget.com | intel.com | xda-developers.com