GPU (Graphics Processing Unit) হল একটি বিশেষায়িত প্রসেসর যা গ্রাফিক্স ডেটার সমান্তরাল প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে, যা প্রতি ফ্রেমে পিক্সেল এবং ভার্টেক্সের উপর লক্ষ লক্ষ গণনা সম্পাদন করে। CPU-এর বিপরীতে, যা কম লেটেন্সির সিকোয়েন্সিয়াল কাজের জন্য অপ্টিমাইজ করা হয়েছে, GPU-তে বিশাল গাণিতিক অপারেশনের জন্য হাজার হাজার কম-শক্তির কোর রয়েছে। NVIDIA Developer Blog (2025) অনুসারে, আধুনিক মোবাইল GPU-তে 1024টি পর্যন্ত কোর থাকে এবং কম্পিউট ওয়ার্কলোডে 2 TFLOPS পর্যন্ত কর্মক্ষমতা অর্জন করে। ডেভেলপাররা রেন্ডারিং, পোস্ট-প্রসেসিং এবং ডিভাইসে মেশিন লার্নিংয়ের জন্য GPU সংহত করে।
মূল পয়েন্ট
GPU (Graphics Processing Unit) হল একটি বিশেষায়িত মাইক্রোচিপ যা ব্যাপক সমান্তরালতার জন্য ডিজাইন করা হয়েছে। প্রথম GPU ১৯৯০-এর দশকের শেষে ডেস্কটপ পিসির জন্য 3D গ্রাফিক্স এক্সেলারেটর হিসেবে আবির্ভূত হয়। তারপর থেকে, গঠন ফিক্সড পাইপলাইন থেকে প্রোগ্রামেবল শেডার এবং সার্বজনীন কম্পিউট ইউনিটে বিবর্তিত হয়েছে।
GPU-র প্রধান উদ্দেশ্য হল র্যাস্টারাইজেশন: জ্যামিতিক ডেটা (ভার্টেক্স, ত্রিভুজ) স্ক্রিনে পিক্সেলে রূপান্তর করা। প্রক্রিয়াটিতে ভার্টেক্স ট্রান্সফর্মেশন, অদৃশ্য পৃষ্ঠ অপসারণ, টেক্সচারিং এবং রঙ মিশ্রণ অন্তর্ভুক্ত। এই সমস্ত অপারেশন হাজার হাজার উপাদানের জন্য একসঙ্গে সমান্তরালভাবে সম্পাদিত হয়।
Jon Peddie Research (2025) অনুসারে, মোবাইল GPU বাজার মোট গ্রাফিক্স প্রসেসর আয়তনের 58% গঠন করে, যা পিসি এবং সার্ভারের জন্য ডিস্ক্রিট সমাধানকে ছাড়িয়ে যায়। প্রতিটি স্মার্টফোনে CPU, DSP এবং নিউরাল প্রসেসরের সাথে System-on-Chip (SoC)-তে কমপক্ষে একটি GPU সংহত থাকে।
আধুনিক GPU দুটি প্রকারে বিভক্ত: সংহত (SoC-তে নির্মিত, CPU-র সাথে মেমোরি ভাগ করে) এবং ডিস্ক্রিট (নিজস্ব ভিডিও মেমোরি সহ পৃথক বোর্ড)। মোবাইল ডেভেলপমেন্টে একচেটিয়াভাবে সংহত GPU ব্যবহার করা হয় — Qualcomm Adreno, ARM Mali, Apple GPU এবং Imagination PowerVR।
GPU-র বিবর্তন তিনটি পর্যায় অতিক্রম করেছে: ফিক্সড পাইপলাইন (১৯৯৯–২০০৬), ইউনিফায়েড শেডার (২০০৬–২০১৬) এবং প্রোগ্রামেবল কম্পিউট কোর (২০১৬ — বর্তমান)। প্রথম পর্যায়টি অপারেশনের একটি কঠোর ক্রম নির্ধারণ করেছিল — ট্রান্সফর্মেশন, লাইটিং, টেক্সচারিং। ডেভেলপার পাইপলাইনে হস্তক্ষেপ করতে পারত না।
ইউনিফায়েড শেডার আবির্ভাবের সাথে, GPU নির্বিচার প্রোগ্রাম নির্বাহের ক্ষমতা অর্জন করে — HLSL বা GLSL-এ লেখা শেডার। এটি GPGPU-র পথ খুলে দেয় — অ-গ্রাফিক্স কাজের জন্য GPU ব্যবহার। তৃতীয় পর্যায়টি মেশিন লার্নিং এবং রিয়েল-টাইম রে ট্রেসিংয়ের জন্য টেনসর কোর যুক্ত করে।
মোবাইল GPU-তে মূল মাইলফলক ছিল Tile-Based Deferred Rendering (TBDR)-এর প্রবর্তন — একটি গঠন যেখানে ফ্রেম টাইলসে (16x16 পিক্সেল) বিভক্ত হয় এবং দ্রুত অন-চিপ মেমোরিতে প্রক্রিয়াজাত হয়। এটি ডেস্কটপ GPU-র ইমিডিয়েট মোড রেন্ডারিংয়ের তুলনায় শক্তি খরচ 3–5 গুণ কমায়।
GPU গঠন CPU থেকে আমূল ভিন্ন। কিছু শক্তিশালী কোর এবং বড় ক্যাশের পরিবর্তে, GPU-তে SIMD (Single Instruction, Multiple Data)-এর জন্য অপ্টিমাইজ করা শত বা হাজার সহজ কম্পিউট ইউনিট থাকে — একটি নির্দেশ একাধিক ডেটা উপাদানের উপর কার্যকর হয়।
GPU-র মৌলিক বিল্ডিং ব্লক হল Shader Core (NVIDIA-র পরিভাষায়) বা Execution Unit (Intel)। এরকম একাধিক ব্লক Compute Units (AMD) বা Streaming Multiprocessors (NVIDIA)-তে একত্রিত হয়। প্রতিটি ব্লকে পাটিগণিতের জন্য ALU, একটি রেজিস্টার ফাইল এবং ওয়ার্প শিডিউলার (থ্রেড গ্রুপ) অন্তর্ভুক্ত থাকে।
মোবাইল GPU গঠনগতভাবে ডেস্কটপ GPU থেকে আলাদা। Qualcomm Adreno প্রোগ্রামেবল শেডার প্রসেসর এবং একটি ডেডিকেটেড র্যাস্টারাইজেশন ব্লক সহ গঠন ব্যবহার করে। ARM Mali Bifrost বা Valhall — কোয়ার্টেট ওয়ার্প প্রসেসিং সহ গঠনের উপর ভিত্তি করে। 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 ডেডিকেটেড ভিডিও মেমোরি ছাড়াই একই RAM ভাগ করে। এটি ডেটা বিনিময়ে লেটেন্সি কমায় এবং প্রোগ্রামিং সহজ করে, কিন্তু গভীর গণনার অধীনে ব্যান্ডউইথ সীমিত করে।
CPU ন্যূনতম লেটেন্সি সহ সিকোয়েন্সিয়াল কাজের জন্য ডিজাইন করা হয়েছে। এতে বড় L1/L2/L3 ক্যাশ, ব্রাঞ্চ প্রেডিক্টর এবং স্পেকুলেটিভ এক্সিকিউশন সহ 4–12টি শক্তিশালী কোর রয়েছে। GPU, এর বিপরীতে, থ্রুপুটের জন্য লেটেন্সি বিসর্জন দেয় — হাজার হাজার কোর উচ্চ লেটেন্সি সহ কিন্তু বিশাল সমষ্টিগত কর্মক্ষমতা সহ ডেটা প্রক্রিয়াজাত করে।
পার্থক্য FLOPS-এ (ফ্লোটিং-পয়েন্ট অপারেশন প্রতি সেকেন্ড) স্পষ্ট। 2025 সালের একটি শীর্ষ মোবাইল SoC: CPU — 200 GFLOPS, GPU — 2400 GFLOPS। GPU সমান্তরালতা অনুমোদনকারী কাজে CPU-র চেয়ে 12 গুণ ভালো কর্মক্ষমতা দেয়। তবে, সিকোয়েন্সিয়াল অ্যালগরিদমের জন্য, কম থ্রেড ব্যবস্থাপনা ওভারহেডের কারণে CPU দ্রুত থাকে।
ব্যবহারে, ডেভেলপাররা অ্যাপ্লিকেশন লজিক, UI এবং IO-র জন্য CPU ব্যবহার করে, এবং রেন্ডারিং, ইমেজ প্রসেসিং, ফিজিক্স সিমুলেশন এবং নিউরাল নেটওয়ার্ক ইনফারেন্সের জন্য GPU ব্যবহার করে। Google Android Performance Patterns (2025) অনুসারে, মোবাইল অ্যাপ্লিকেশনে সর্বোত্তম GPU লোড 60–80% — ওভারলোড থ্রটলিং এবং ওভারহিটিংয়ের দিকে নিয়ে যায়।
// CPU — sequential processing
for (int i = 0; i < N; i++) {
result[i] = data[i] * 2.0f;
}
// GPU — parallel processing (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 একটি একক CPU কোরের তুলনায় 100–1000 গুণ দ্রুত কাজ সম্পন্ন করবে।
মোবাইল GPU কঠোর তাপীয় এবং শক্তি সীমাবদ্ধতার অধীনে কাজ করে। একটি সাধারণ মোবাইল GPU-র TDP 2–8 W, যেখানে ডেস্কটップ সমতুল্যের 150–450 W। এর জন্য পিক পারফরম্যান্সের পরিবর্তে শক্তি দক্ষতার উপর কেন্দ্রীভূত একটি বিশেষ গঠন প্রয়োজন।
মূল শক্তি-সঞ্চয় প্রযুক্তি হল Tile-Based Rendering। ফ্রেম 16x16 বা 32x32 পিক্সেল টাইলসে বিভক্ত হয়। প্রতিটি টাইল দ্রুত SRAM (Tile Memory) তে সম্পূর্ণরূপে প্রক্রিয়াজাত হয়, তারপর বাহ্যিক DRAM-এ লেখা হয়। এটি ইমিডিয়েট মোডের তুলনায় মেমোরি অ্যাক্সেস 4–10 গুণ কমায়।
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 Android ডিভাইসে দ্বিতীয় সর্বাধিক জনপ্রিয় GPU। Mali-G720 ভেরিয়েবল রেট শেডিং এবং ASTC HDR সমর্থন সহ ৫ম প্রজন্মের Valhall গঠনের উপর ভিত্তি করে। Mali-র একটি বৈশিষ্ট্য হল কোয়ার্টেট প্রসেসিং: ভাল ALU ব্যবহারের জন্য চারটি থ্রেড একটি ওয়ার্পে একত্রিত হয়।
Apple GPU একচেটিয়াভাবে Metal API-র জন্য ডিজাইন করা। A13 Bionic থেকে, Apple Metal 3, রে ট্রেসিং এবং মেশ শেডার সমর্থন সহ নিজস্ব GPU ডিজাইন ব্যবহার করে। Apple GPU গঠনে M4 Ultra-তে 800 GB/s পর্যন্ত ব্যান্ডউইথ সহ Unified Memory রয়েছে।
GPU থ্রটলিং — ওভারহিটিংয়ে ফ্রিকোয়েন্সি হ্রাস — মোবাইল গেমিংয়ের প্রধান সমস্যা। টানা লোডের অধীনে, SoC-র তাপমাত্রা 85–95°C-তে পৌঁছায় এবং GPU ফ্রিকোয়েন্সি 30–50% কমিয়ে দেয়। AnandTech (2025) অনুসারে, Qualcomm Adreno 750 Genshin Impact-এ 15 মিনিট পর 35% পর্যন্ত কর্মক্ষমতা হারায়।
ডেভেলপার ড্র কল অপ্টিমাইজেশন, রেন্ডারিং রেজোলিউশন কমানো এবং Foveated Rendering ব্যবহার করে থ্রটলিং কমাতে পারে। iOS-এ Metal Performance Shaders এবং Android-এ Android Frame Pacing API ডিভাইসের থার্মাল বাজেটের সাথে লোড সিঙ্ক্রোনাইজ করতে সাহায্য করে।
GPGPU (General-Purpose computing on GPU) হল অ-গ্রাফিক্স গণনার জন্য গ্রাফিক্স প্রসেসরের ব্যবহার। ধারণাটি ২০০০-এর দশকের মাঝামাঝি উৎপন্ন হয়, যখন ডেভেলপাররা বুঝতে পারেন যে শেডারগুলিকে ম্যাট্রিক্স অপারেশন, ক্রিপ্টোগ্রাফি এবং ফিজিক্স সিমুলেশনের জন্য অভিযোজিত করা যেতে পারে।
আজ, GPGPU ব্যাপক সমান্তরালতা প্রয়োজন এমন কাজের জন্য একটি মানক সরঞ্জাম: মেশিন লার্নিং (নিউরাল নেটওয়ার্কের প্রশিক্ষণ এবং ইনফারেন্স), ক্রিপ্টোগ্রাফি (হ্যাশিং, এনক্রিপশন), ইমেজ এবং ভিডিও প্রসেসিং (ফিল্টার, কোডেক), এবং বৈজ্ঞানিক সিমুলেশন (তরল গতিবিদ্যা, কোয়ান্টাম রসায়ন)।
মোবাইল ডিভাইসে, GPGPU Compute Shaders-এর মাধ্যমে অ্যাক্সেস করা হয় — গ্রাফিক্যাল আউটপুট ছাড়া শেডার যা কেবল ডেটার সাথে কাজ করে। Compute Shader কাজের গ্রুপের একটি গ্রিড চালু করে, প্রতিটি গ্রুপে একাধিক থ্রেড থাকে। স্ক্রিনের সাথে বন্ধন ছাড়াই বাফার এবং টেক্সচারের মাধ্যমে মেমোরি অ্যাক্সেস হয়।
#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টি কাজের গ্রুপ এবং লক্ষ লক্ষ গ্লোবাল থ্রেড সমর্থন করে।
GPU অ্যাক্সেস API নির্ধারণ করে যে ডেভেলপার কীভাবে গ্রাফিক্স প্রসেসরে কমান্ড এবং ডেটা পাঠায়। মোবাইল প্ল্যাটফর্মে তিনটি প্রধান API ব্যবহৃত হয়: Vulkan, Metal এবং OpenGL ES। প্রতিটির নিজস্ব সুবিধা এবং সীমাবদ্ধতা রয়েছে যা কর্মক্ষমতা এবং সামঞ্জস্যকে প্রভাবিত করে।
Vulkan হল Khronos Group-এর একটি নিম্ন-স্তরের ক্রস-প্ল্যাটফর্ম API, যা OpenGL-এর উত্তরসূরি। Vulkan ডেভেলপারদের GPU মেমোরি, কমান্ড কিউ এবং সিঙ্ক্রোনাইজেশনের উপর সরাসরি নিয়ন্ত্রণ দেয়। Khronos (2025) অনুসারে, Vulkan ড্রাইভার ওভারহেড কমিয়ে OpenGL ES-এর তুলনায় 30–60% কর্মক্ষমতা উন্নতি প্রদান করে।
Android-এ, Vulkan Android 7.0 (API 24) থেকে বাধ্যতামূলক, এবং সমস্ত আধুনিক SoC Vulkan 1.3 সমর্থন করে। Vulkan Memory Allocator এবং একটি মধ্যবর্তী উপস্থাপনা হিসেবে SPIR-V GLSL, HLSL বা Rust GPU-তে শেডার লেখার অনুমতি দেয়।
Metal হল ইকোসিস্টেমের সমস্ত ডিভাইসের জন্য Apple-এর মালিকানাধীন GPU API: iPhone, iPad, Mac, Apple TV। Metal ন্যূনতম ওভারহেড এবং পূর্বাভাসযোগ্য কমান্ড নির্বাহের সময় প্রদান করে। Apple Developer Documentation (2025) অনুসারে, Metal FPS ড্রপ ছাড়াই প্রতি ফ্রেমে 100,000 ড্র কল পর্যন্ত পরিচালনা করে।
একটি মূল বৈশিষ্ট্য হল C++-এর উপর ভিত্তি করে Metal Shading Language (MSL)। শেডারগুলি অ্যাপ্লিকেশনের সাথে মেশিন কোডে কম্পাইল হয়, যা Vulkan-এর সাধারণ JIT কম্পাইলেশন দূর করে। Metal Mesh Shaders, Ray Tracing এবং রানটাইমে শেডার লোড করার জন্য Dynamic Libraries সমর্থন করে।
OpenGL ES হল এম্বেডেড সিস্টেমের জন্য OpenGL-এর একটি সরলীকৃত সংস্করণ। এটি পুরানো ডিভাইসে এবং পশ্চাদগামী সামঞ্জস্যের জন্য ব্যবহৃত হয়। Android Studio (2025) অনুসারে, 94% Android ডিভাইসে OpenGL ES 3.2 সমর্থিত। নতুন প্রকল্পের জন্য, Google OpenGL ES-এর পরিবর্তে Vulkan সুপারিশ করে।
WebGL হল OpenGL ES-র ব্রাউজার-ভিত্তিক অ্যানালগ, ওয়েবে 3D গ্রাফিক্সের ভিত্তি। WebGL 2.0 (OpenGL ES 3.0-এর অনুরূপ) 92% মোবাইল ব্রাউজারে সমর্থিত। WebGPU পরবর্তী প্রজন্ম, যার গঠন Vulkan এবং Metal-এর কাছাকাছি।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
মোবাইল GPU 2–8 W তাপীয় সীমার মধ্যে কাজ করে, শক্তি সাশ্রয়ের জন্য Tile-Based Rendering ব্যবহার করে এবং UMA-এর মাধ্যমে CPU-র সাথে মেমোরি ভাগ করে। ডেস্কটপ GPU 150–450 W খরচ করে, ডেডিকেটেড ভিডিও মেমোরি (GDDR) আছে এবং Immediate Mode Rendering ব্যবহার করে।
Apple GPU M4 Ultra এবং A18 Pro চিপে মোবাইল GPU-র মধ্যে প্রতি ওয়াট কর্মক্ষমতায় নেতৃত্ব দেয়। Android ডিভাইসের মধ্যে, Snapdragon 8 Gen 4-এ Qualcomm Adreno 850 এবং MediaTek Dimensity 9500-এ ARM Mali-G925 নেতৃত্ব দেয়।
হ্যাঁ, GPU iOS-এ Core ML এবং Android-এ TensorFlow Lite / NNAPI-র মাধ্যমে নিউরাল নেটওয়ার্ক ইনফারেন্সের জন্য সক্রিয়ভাবে ব্যবহৃত হয়। Google (2025) অনুসারে, GPU ত্বরণ CPU-র তুলনায় 3–10 গুণ গতি উন্নতি প্রদান করে।
থ্রটলিং থার্মাল বাজেট অতিক্রম করার কারণে ঘটে। টানা লোডের অধীনে, SoC-র তাপমাত্রা 85–95°C-তে পৌঁছায় এবং GPU চিপ সুরক্ষার জন্য ফ্রিকোয়েন্সি কমায়। সমাধান হল রেন্ডারিং অপ্টিমাইজেশন এবং FPS ক্যাপ (30–45 FPS) ব্যবহার।
Vulkan নতুন প্রকল্পের জন্য প্রধান পছন্দ। OpenGL ES পুরানো ডিভাইসের সাথে পশ্চাদগামী সামঞ্জস্যের জন্য। Metal iOS-এর জন্য বাধ্যতামূলক। ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্টের জন্য Unity, Unreal Engine বা Filament-এর মতো ফ্রেমওয়ার্ক ব্যবহার করুন।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন