واحد پردازش گرافیکی (به انگلیسی: Graphics processing unit) یا به اختصار GPU ابزاری اختصاصی برای رندر کردن گرافیکی (به طور طبیعی به نظر رسیدن تصویر) در کامپیوترهای شخصی، ایستگاههای کاری، و یا در کنسولهای بازی است. این واحد گاهی اوقات واحد پردازندهٔ بصری یا VPU نیز نامیده میشود
. ویژگیهای واحدهای پردازش مرکزی جدید برای پردازش و ارائه دادن کارهای دیداری (گرافیکی)، آنها را بسیار کارآمدتر از واحدهای پردازندهٔ مرکزی یا CPU در پردازش الگوریتمهای پیچید کرده است.
یک GPU معمولا بر روی کارتهای گرافیکی قرار می گیرد، اگر چه کارتهای گرافیکی غیر حرفهای مستقیما بر روی بُرد مادر (OnBorad) قرار میگیرند.
GPU ابزاری است شامل تعدادی عملگر ابتدایی گرافیکی، که باعث میشود نسبت به CPU در خلق تصاویر بر صفحه نمایشگر بسیار سریعتر عمل کنند.
رایج ترین عملگرها برای گرافیک دو بعدی کامپیوترها شامل عملگر BitBLT است که معمولا در سخت افزارهای مخصوص یک “Biltter” نامیده میشود. این عملگرها برای کشیدن مستطیل، مثلث، دایره و قوس بکار میروند. پردازندههای گرافیکی جدید، پردازش گرافیک سه بعدی را نیز در رایانهها انجام میدهند.
اوایل دههٔ ۱۹۸۰:
واحدهای پردازندهٔ گرافیکی از چیپهای گرافیکی بکپارچه در آغاز دهه ۸۰ و ۹۰ زاده شدند. این چیپها محدود به پشتیبانی از BitBLt بود و غالبا از شیوهٔ طراحی قالب حمایت نمیکرد. بعضی از GPUها توانایی اجرای چندین عملگر را در فهرست نمایش دارا میباشند، و همچنین میتوانند از DMA برای کاهش بارگذاری روی پردازندهٔ اصلی استفاده کنند
. یک نمونهٔ اولیه ANTIC بود که به عنوان یک کمکپردازنده در رایانههای آتاری۸۰۰ و آتاری ۵۲۰۰ استفاده شد. در اواخر دههٔ ۸۰ و اوایل دههٔ ۹۰ سرعت بالاتر ریزپردازنده های همه منظوره به ابزاری محبوب برای GPUهای گرانقیمت تبدیل شدند.
چند بُرد گرافیکی گرانقیمت که برای رایانههای شخصی و ایستگاههای کاری استفاده میشد؛ عبارت بودند از TI سری 340TMS (یک CPUی ۳۲بیتی بهینه سازی شده برای استفاده در کارهای گرافیکی؛ همراه با کنترلگر بافر بر روی چیپ آن) برای اجرای سریع رسم توابع. اینها مخصوصا برای یک نوع خاص از GPUها برای استفاده در CAD معروف هستند.
همچنین بسیاری از چاپگرهای لیزری شرکت اپل دارای فنآوری پردازش تصاویر توسط پست اسکریپت بودند. تعداد کمی از کابردهای خصوصی شده از پردازندهٔ دیجیتال سیگنال برای گرافیکی ۳ بعدی استفاده میکنند از قبیل بازیهای Atari Games’Hard Drivin یا Race Drivin .
همچنان که فن آوری پردازشگرها پیشرفت میکرد، سرانجام برای طراحی حرکت و توابع BitBLT بر روی یک بورد امکان پذیر شد (و سرانجام بر روی یک چیپ) مانند یک کنتلگر منظم fram Buffer مانند VGA .
دهه ۱۹۸۰:
رایانه کمودور آمیگا اولین وسیلهٔ پر فروش رایانهای بود که شامل یک biltter در قسمت سخت افزار گرافیکی خود بود. سیستم گرافیک رایانه 8514IBM اولین رایانهٔ شخصی بود که کارت گرافیکی ۲ بعدی را شامل میشد.
آمیگا در زمان خودش بی نظیر بود چرا که یکی از خصوصیات آن که امروزه به سیستم شتاب دهندهٔ گرافیکی شناخته میشود را دارا بود. تقریبا تمام بار تولید توابع گرافیکی بر عهدهٔ سخت افزار بود، به طور مثال کشیدن خط، پرکردن مساحت و یک کمک پردازندهٔ گرافیکی همراه با مجموعهٔ دستورات داخلی مخصوص به خود. تا قبل از ارایهٔ (و حتی تا مدتی بعد بر روی اکثر سیستمها) هدف عمومی CPU این بود که با تمام جنبههای گرافیکی سر و کار داشته باشد.
دههٔ ۱۹۹۰:
در اوایل دهه ی۹۰ با رشد چشمگیر سیستم عامل مایکروسافت ویندوز، علاقهٔ فراوانی به استفاده از سرعت بیشتر و تفکیک پذیری ۲ بعدی بالاتر (bitmapped graphics) که قبلا توسط ایستگاههای کاری یونیکس و رایانههای مکینتاش شرکت اپل استفاده شده بود) ایجاد گردید. برای بازار فروش تسلط مایکروسافت به معنی تمرکز بیشتر و تلاش بر روی فقط یک میانجی برنامه نویسی بود :
دستگاه میانجی گرافیکی (Graphics Device Interface)
از سال ۲۰۰۰ تا به حال:
با ظهور رابط کاربری DirectX نسخهٔ ۸ و توابع مشابه به نام OpenGL، توانایی برنامهریزی سایهزنی به قابلیتهای GPU اضافه شد. هر پیکسل اکنون میتوانست توسط برنامههای کوچک که شامل اضافه شدن بافت تصویری به عنوان ورودیها، و یک برنامهٔ کوتاه توانایی پردازش هر یک از مختصات سه بعدی را پیش از نمایش تصویر دارا بود .
انویدیا بازار را با ارایهٔ اولین چیپ با توانایی سایهزنی برنامهریزی شده در دست گرفت: جی فورس ۳ (GeForce 3) که البته به 20NV نیر مشهور است. در اکتبر ۲۰۰۲، شرکت ATI با معرفی Radoen 9700 که با نام 300R نیز شناخته میشود، اولین شتابدهندهٔ دایرکت ۳ بعدی نسخهٔ ۹ را معرفی کرد.
توابع مربوط به یک محاسبه:
GPUهای جدید از بسیاری از ترانزیستورهایشان برای محاسبهٔ مربوط به گرافیک سه بعدی رایانهها استفاده میکنند. آنها در ابتدا برای شتاب دادن به حافظهٔ اصلی، نقشه برداری بافت ها، رندر کردن کثیرالاضلاعها و به طور کلی چندگوشهها استفاده میشدند. ولی بعدا برای کارهای سختتر از جمله شتاب دادن به محاسبات هندسی مانند تبدیل رئوس از یک دستگاه مختصات به یک دستگاه مختصات دیگر استفاده شد.
اخیرا با گسترش GPUها , آنها سایه زنیهای قابل برنامهریزی و رئوس و بافتها را اداره میکنند همچنین با بسیاری از عملگرهای پشتیبانی شده توسط CPUها و الحاقی و محاسبهٔ مقادیر واسط بین دو نقطه، با تکنیک reduce aliasing) و Color Space با دقت بسیار بالا انجام میدهد.