GPU (Graphics Processing Unit) — یک پردازنده تخصصی برای پردازش موازی دادههای گرافیکی است که میلیونها محاسبه روی پیکسلها و رئوس در هر فریم انجام میدهد. برخلاف CPU که برای وظایف ترتیبی با تأخیر کم بهینه شده، GPU شامل هزاران هسته کممصرف برای عملیات ریاضی انبوه است. طبق NVIDIA Developer Blog (2025)، GPUهای موبایل مدرن تا 1024 هسته دارند و در بارهای محاسباتی به عملکرد 2 TFLOPS میرسند. توسعهدهندگان GPU را برای رندرینگ، پسپردازش و یادگیری ماشین روی دستگاه یکپارچه میکنند.
نکات اصلی
GPU (Graphics Processing Unit) — یک میکروچیپ تخصصی طراحی شده برای موازیسازی انبوه است. اولین GPUها در اواخر دهه 1990 به عنوان شتابدهندههای گرافیک سهبعدی برای رایانههای رومیزی ظاهر شدند. از آن زمان معماری از خط لوله ثابت به سایهزنهای قابل برنامهریزی و بلوکهای محاسباتی عمومی تکامل یافته است.
هدف اصلی GPU — راستریسازی: تبدیل دادههای هندسی (رئوس، مثلثها) به پیکسلهای روی صفحه. فرآیند شامل تبدیل رئوس، برش سطوح نامرئی، بافتدهی و ترکیب رنگها است. همه این عملیات به طور موازی برای هزاران عنصر به طور همزمان انجام میشود.
طبق Jon Peddie Research (2025)، بازار GPUهای موبایل 58٪ از کل حجم پردازندههای گرافیکی را تشکیل میدهد و از راهحلهای مجزا برای رایانههای شخصی و سرورها پیشی میگیرد. هر گوشی هوشمند حداقل یک GPU دارد که در System-on-Chip (SoC) همراه با CPU، DSP و پردازنده عصبی یکپارچه شده است.
GPUهای مدرن به دو نوع تقسیم میشوند: یکپارچه (تعبیه شده در SoC، حافظه را با CPU به اشتراک میگذارد) و مجزا (کارت جداگانه با حافظه ویدئویی خود). در توسعه موبایل منحصراً از GPUهای یکپارچه استفاده میشود — Qualcomm Adreno، ARM Mali، Apple GPU و Imagination PowerVR.
تکامل GPU سه مرحله را طی کرده است: خط لوله ثابت (1999–2006)، سایهزنهای یکپارچه (2006–2016) و هستههای محاسباتی قابل برنامهریزی (2016 — تاکنون). مرحله اول یک توالی سخت از عملیات را تعریف میکرد — تبدیل، نورپردازی، بافتدهی. توسعهدهنده نمیتوانست در خط لوله دخالت کند.
با ظهور سایهزنهای یکپارچه، GPU توانایی اجرای برنامههای دلخواه — سایهزنهای نوشته شده به HLSL یا GLSL را به دست آورد. این راه را برای GPGPU — استفاده از GPU برای وظایف غیرگرافیکی باز کرد. مرحله سوم هستههای تنسور برای یادگیری ماشین و ردیابی پرتو در زمان واقعی را اضافه کرد.
در GPUهای موبایل، نقطه عطف کلیدی معرفی Tile-Based Deferred Rendering (TBDR) بود — معماری که در آن فریم به تایلها (16x16 پیکسل) تقسیم و در حافظه محلی سریع پردازش میشود. این مصرف انرژی را 3–5 برابر در مقایسه با immediate mode rendering که برای GPUهای رومیزی مشخص است، کاهش میدهد.
معماری GPU تفاوت اساسی با CPU دارد. به جای چند هسته قدرتمند با حافظه نهان بزرگ، GPU شامل صدها یا هزاران بلوک محاسباتی ساده بهینهسازی شده برای SIMD (Single Instruction, Multiple Data) است — یک دستور روی چندین عنصر داده اجرا میشود.
بلوک پایه GPU — Shader Core (در اصطلاح NVIDIA) یا Execution Unit (Intel). چندین بلوک از این دست در Compute Unit (AMD) یا Streaming Multiprocessor (NVIDIA) ترکیب میشوند. هر بلوک شامل ALU برای حساب، فایل ثبات و زمانبند warp (گروههای نخ) است.
GPUهای موبایل از نظر معماری با GPUهای رومیزی متفاوت هستند. Qualcomm Adreno از معماری با پردازندههای سایهزن قابل برنامهریزی و بلوک راستریسازی اختصاصی استفاده میکند. ARM Mali مبتنی بر Bifrost یا Valhall — معماریهایی با پردازش چهارتایی warpها است. Apple GPU از سال 2017 طراحی خاص خود را با پشتیبانی از Metal و حافظه یکپارچه دارد.
| سازنده | خط GPU | معماری | API |
|---|---|---|---|
| Qualcomm | Adreno 6xx/7xx/8xx | پردازندههای سایهزن قابل برنامهریزی | Vulkan, OpenGL ES |
| ARM | سری Mali-G | Bifrost / Valhall | Vulkan, OpenGL ES |
| Apple | Apple GPU (A13–A18) | طراحی اختصاصی | Metal |
| Imagination | PowerVR IMG | Furian / B-Series | Vulkan, OpenGL ES |
ویژگی کلیدی GPUهای موبایل — Unified Memory Architecture (UMA). GPU و CPU از حافظه رم مشترک بدون حافظه ویدئویی جداگانه استفاده میکنند. این تأخیر در تبادل داده را کاهش میدهد و برنامهنویسی را ساده میکند، اما پهنای باند را در محاسبات فشرده محدود میکند.
CPU برای وظایف ترتیبی با حداقل تأخیر طراحی شده است. شامل 4–12 هسته قدرتمند با حافظه نهان L1/L2/L3 بزرگ، پیشبین شاخه و اجرای حدسی است. GPU در مقابل تأخیر را به نفع پهنای باند قربانی میکند — هزاران هسته دادهها را با تأخیر بالا اما عملکرد کلی عظیم پردازش میکنند.
تفاوت در FLOPS (عملیات ممیز شناور در ثانیه) نمایان میشود. بهترین SoC موبایل 2025: CPU — 200 GFLOPS، GPU — 2400 GFLOPS. GPU در وظایف قابل موازیسازی 12 برابر از CPU بهتر است. با این حال برای الگوریتمهای ترتیبی CPU به دلیل سربار کمتر مدیریت نخها سریعتر باقی میماند.
در عمل، توسعهدهنده از CPU برای منطق برنامه، UI و IO و از GPU برای رندرینگ، پردازش تصویر، شبیهسازی فیزیک و استنتاج شبکههای عصبی استفاده میکند. طبق Google Android Performance Patterns (2025)، بار بهینه GPU در برنامههای موبایل 60–80٪ است — بار اضافی منجر به محدودیت فرکانس و داغ شدن میشود.
// CPU — پردازش ترتیبی
for (int i = 0; i < N; i++) {
result[i] = data[i] * 2.0f;
}
// GPU — پردازش موازی (GLSL compute shader)
#version 300 es
layout(local_size_x = 256) in;
void main() {
uint idx = gl_GlobalInvocationID.x;
result[idx] = data[idx] * 2.0f;
}
کد روی CPU ضرب را به صورت ترتیبی برای هر عنصر انجام میدهد. نسخه GPU 256 نخ را به صورت موازی اجرا میکند، هر کدام عنصر خود را ضرب میکند. با N=1 میلیون، GPU کار را 100–1000 برابر سریعتر از CPU روی یک هسته انجام میدهد.
GPUهای موبایل تحت محدودیتهای شدید تولید گرما و مصرف انرژی کار میکنند. TDP معمولی یک GPU موبایل 2–8 وات است، در مقابل 150–450 وات برای همتایان رومیزی. این نیازمند معماری خاص با تمرکز بر بهرهوری انرژی، نه عملکرد峰值 است.
فناوری اصلی صرفهجویی در انرژی — Tile-Based Rendering. فریم به تایلهای 16x16 یا 32x32 پیکسل تقسیم میشود. هر تایل به طور کامل در حافظه SRAM سریع (Tile Memory) پردازش و سپس به DRAM خارجی نوشته میشود. این دسترسیهای حافظه را 4–10 برابر در مقایسه با immediate mode کاهش میدهد.
Qualcomm Adreno — رایجترین GPU موبایل. Adreno 750 (Snapdragon 8 Gen 3) شامل 12 پردازنده سایهزن با استخر ثبات مشترک است. از Vulkan 1.3، OpenGL ES 3.2، OpenCL 3.0 و ردیابی پرتو در سطح هسته پشتیبانی میکند. طبق Qualcomm (2025)، Adreno با حفظ مصرف انرژی، 45٪ افزایش عملکرد در نسل ارائه میدهد.
ARM Mali — دومین GPU محبوب در دستگاههای Android. Mali-G720 مبتنی بر معماری Valhall نسل پنجم با پشتیبانی از Variable Rate Shading و ASTC HDR است. ویژگی Mali — پردازش چهارتایی: چهار نخ در یک warp برای استفاده بهتر از ALU ترکیب میشوند.
Apple GPU منحصراً برای Metal API طراحی میشود. از A13 Bionic، Apple از طراحی GPU خود با پشتیبانی از Metal 3، ردیابی پرتو و mesh-سایهزنها استفاده میکند. معماری Apple GPU با Unified Memory با پهنای باند تا 800 گیگابایت بر ثانیه در M4 Ultra متمایز میشود.
محدودیت فرکانس GPU — کاهش فرکانس هنگام داغ شدن — مشکل اصلی بازیهای موبایل است. تحت بار طولانی، دمای SoC به 85–95 درجه سانتیگراد میرسد و GPU فرکانس را 30–50٪ کاهش میدهد. طبق AnandTech (2025)، Qualcomm Adreno 750 پس از 15 دقیقه در Genshin Impact تا 35٪ از عملکرد خود را از دست میدهد.
توسعهدهنده میتواند محدودیت فرکانس را از طریق بهینهسازی فراخوانیهای draw، کاهش وضوح رندرینگ و استفاده از Foveated Rendering کاهش دهد. Metal Performance Shaders در iOS و Android Frame Pacing API در Android به همگامسازی بار با بودجه حرارتی دستگاه کمک میکنند.
GPGPU (General-Purpose computing on GPU) — استفاده از پردازنده گرافیکی برای محاسبات غیرگرافیکی. این ایده در اواسط دهه 2000 متولد شد، زمانی که توسعهدهندگان متوجه شدند سایهزنها را میتوان برای عملیات ماتریسی، رمزنگاری و شبیهسازی فیزیک تطبیق داد.
امروزه GPGPU ابزاری استاندارد برای وظایفی است که نیاز به موازیسازی انبوه دارند: یادگیری ماشین (آموزش و استنتاج شبکههای عصبی)، رمزنگاری (هش کردن، رمزگذاری)، پردازش تصویر و ویدئو (فیلترها، کدکها)، شبیهسازیهای علمی (هیدرودینامیک، شیمی کوانتومی).
در دستگاههای موبایل، GPGPU از طریق Compute Shaders اعمال میشود — سایهزنهای بدون خروجی گرافیکی که فقط با دادهها کار میکنند. Compute Shader یک Grid از گروههای کاری اجرا میکند، هر گروه شامل چندین نخ است. دسترسی به حافظه — از طریق بافرها و بافتها بدون اتصال به صفحه نمایش.
#version 310 es
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0) buffer Input { float data[]; };
layout(binding = 1) buffer Output { float result[]; };
void main() {
uvec2 idx = gl_GlobalInvocationID.xy;
uint offset = idx.y * gl_NumWorkGroups.x * gl_WorkGroupSize.x + idx.x;
result[offset] = sqrt(data[offset]) + 1.0;
}
مثال compute shader ریشه مربع را برای هر عنصر آرایه محاسبه میکند. گروه کاری 16x16 به طور همزمان 256 عنصر را پردازش میکند. GPUهای موبایل مدرن تا 1024 گروه کاری و میلیونها نخ سراسری را پشتیبانی میکنند.
APIهای دسترسی به GPU تعیین میکنند که توسعهدهنده چگونه دستورات و دادهها را به پردازنده گرافیکی ارسال میکند. در پلتفرمهای موبایل از سه API اصلی استفاده میشود: Vulkan، Metal و OpenGL ES. هر کدام مزایا و محدودیتهای خود را دارند که بر عملکرد و سازگاری تأثیر میگذارند.
Vulkan — یک API سطح پایین چندپلتفرمی از Khronos Group، جانشین OpenGL. Vulkan به توسعهدهنده کنترل مستقیم بر حافظه GPU، صفهای فرمان و همگامسازی میدهد. طبق Khronos (2025)، Vulkan با کاهش سربار درایور، 30–60٪ افزایش عملکرد نسبت به OpenGL ES فراهم میکند.
در Android، Vulkan از Android 7.0 (API 24) اجباری است، اما همه SoCهای مدرن از Vulkan 1.3 پشتیبانی میکنند. Vulkan Memory Allocator و SPIR-V به عنوان کد میانی امکان نوشتن سایهزنها به GLSL، HLSL یا Rust GPU را فراهم میکنند.
Metal — API اختصاصی Apple برای GPU در همه دستگاههای اکوسیستم: iPhone، iPad، Mac، Apple TV. Metal حداقل سربار و زمان اجرای قابل پیشبینی دستورات را تضمین میکند. طبق Apple Developer Documentation (2025)، Metal تا 100,000 فراخوانی draw در هر فریم بدون افت FPS پردازش میکند.
ویژگی کلیدی — Metal Shading Language (MSL) مبتنی بر C++. سایهزنها همراه با برنامه به کد ماشین کامپایل میشوند که کامپایل JIT معمول برای Vulkan را حذف میکند. Metal از Mesh Shaders، Ray Tracing و Dynamic Libraries برای بارگذاری سایهزنها در زمان اجرا پشتیبانی میکند.
OpenGL ES — نسخه سادهشده OpenGL برای سیستمهای تعبیهشده. در دستگاههای قدیمی و برای سازگاری معکوس استفاده میشود. OpenGL ES 3.2 طبق Android Studio (2025) روی 94٪ دستگاههای Android پشتیبانی میشود. برای پروژههای جدید، Google Vulkan را به جای OpenGL ES توصیه میکند.
WebGL — معادل مرورگری OpenGL ES، پایه گرافیک سهبعدی در وب. WebGL 2.0 (مطابق با OpenGL ES 3.0) روی 92٪ مرورگرهای موبایل پشتیبانی میشود. WebGPU — نسل بعدی، با معماری نزدیک به Vulkan و Metal.
سؤالات متداول
GPU موبایل در بسته حرارتی 2–8 وات کار میکند، برای صرفهجویی در انرژی از Tile-Based Rendering استفاده میکند و حافظه را با CPU از طریق UMA به اشتراک میگذارد. GPU رومیزی 150–450 وات مصرف میکند، حافظه ویدئویی جداگانه (GDDR) دارد و از Immediate Mode Rendering استفاده میکند.
Apple GPU در تراشههای M4 Ultra و A18 Pro — رهبر عملکرد بر وات در میان GPUهای موبایل. در میان دستگاههای Android، Qualcomm Adreno 850 در Snapdragon 8 Gen 4 و ARM Mali-G925 در MediaTek Dimensity 9500 پیشتاز هستند.
بله، GPU به طور فعال برای استنتاج شبکههای عصبی از طریق Core ML در iOS و TensorFlow Lite / NNAPI در Android استفاده میشود. طبق Google (2025)، شتاب GPU افزایش سرعت 3–10 برابری نسبت به CPU میدهد.
محدودیت فرکانس به دلیل فراتر رفتن از بودجه حرارتی رخ میدهد. تحت بار طولانی، دمای SoC به 85–95 درجه سانتیگراد میرسد و GPU برای محافظت از تراشه فرکانس را کاهش میدهد. راهحل — بهینهسازی رندرینگ و استفاده از محدودیت FPS (30–45 FPS).
Vulkan — انتخاب اصلی برای پروژههای جدید. OpenGL ES — برای سازگاری معکوس با دستگاههای قدیمی. Metal — اجباری برای iOS. برای توسعه چندپلتفرمی از فریمورکهایی مانند Unity، Unreal Engine یا Filament استفاده کنید.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.