CPU এবং GPU-এর পার্থক্য
সকল কম্পিউটার সিস্টেমের হৃদয় হল সেন্ট্রাল প্রসেসিং ইউনিট (CPU)। এই জেনারেল-পারপাস প্রসেসর অধিকাংশ টাস্ক হ্যান্ডেল করে এবং বেসিক গাণিতিক ক্যালকুলেশনে সীমাবদ্ধ। জটিল কাজের জন্য কম্বিনেশন লাগে যা প্রসেসিং টাইম বাড়ায়। বিভিন্ন ধরনের টাস্ক CPU-কে স্লো করে দিতে পারে।
গ্রাফিক্স কার্ডের উদ্ভব
গ্রাফিক্স প্রসেসর ইউনিট (GPU) সহ গ্রাফিক্স কার্ড হল কম্পিউটারে ইনস্টল করা স্পেশালাইজড প্রসেসরের একটি উদাহরণ। এই কার্ডগুলো ২D এবং ৩D গ্রাফিক্স সংক্রান্ত জটিল ক্যালকুলেশন হ্যান্ডেল করে। এতটাই স্পেশালাইজড যে সিপিইউর চেয়ে নির্দিষ্ট ক্যালকুলেশন আরও ভালো করে। GPU গ্রাফিক্স ছাড়া আরও অনেক কাজে গুরুত্বপূর্ণ হয়ে উঠছে—নিচে সেসব কাজগুলো আলোচনা করা হলো।
১. ভিডিও ত্বরান্বিতকরণ (Accelerating Video)
৩D গ্রাফিক্স বাদে GPU-র প্রথম অ্যাপ্লিকেশন ছিল ভিডিও। হাই-ডেফিনিশন ভিডিও স্ট্রিমের জন্য কম্প্রেসড ডেটা ডিকোড করে হাই-রেজোলিউশন ইমেজ প্রোডিউস করতে হয়। ATI এবং NVIDIA উভয়েই সফটওয়্যার ডেভেলপ করেছে যাতে গ্রাফিক্স প্রসেসর এই ডিকোডিং প্রসেস হ্যান্ডেল করে, CPU না।
গ্রাফিক্স কার্ড ভিডিও ট্রান্সকোডিং-এ সাহায্য করে—যেমন ভিডিও ক্যামেরার ফাইলকে DVD-তে বার্ন করার জন্য কনভার্ট করা। কম্পিউটারকে একটি ফরম্যাট থেকে অন্য ফরম্যাটে রি-রেন্ডার করতে হয়, যেটি অনেক কম্পিউটিং পাওয়ার চায়। গ্রাফিক্স প্রসেসরের ভিডিও ক্ষমতা ব্যবহার করলে CPU-র চেয়ে দ্রুত ট্রান্সকোডিং করা যায়।
২. SETI@Home
SETI@Home ছিল একটি ডিস্ট্রিবিউটেড কম্পিউটিং অ্যাপ্লিকেশন (ফোল্ডিং) যা Search for Extra-Terrestrial Intelligence প্রজেক্টের জন্য রেডিও সিগন্যাল বিশ্লেষণ করত। এটি কম্পিউটার GPU-এর অতিরিক্ত কম্পিউটিং পাওয়ারের সুবিধা নিত। GPU-র উন্নত ক্যালকুলেটিং ইঞ্জিন CPU-র তুলনায় দিয়ে যাবতীয় সময়ে অধিক ডেটা প্রসেস করতে পারত। SETI@Home NVIDIA গ্রাফিক্স কার্ডে CUDA (Compute Unified Device Architecture) ব্যবহার করত। CUDA হল C কোডের একটি স্পেশালাইজড ভার্সন যা NVIDIA GPU-কে অ্যাক্সেস করতে পারে।
৩. Adobe Creative Suite এবং Creative Cloud
GPU অ্যাক্সিলারেশন využনা করা সাম্প্রতিক বড় অ্যাপ্লিকেশন হল Adobe Creative Suite, CS4 থেকে শুরু করে আধুনিক স্যুট পর্যন্ত। এতে Photoshop এবং Premiere Pro-এর মতো ফ্ল্যাগশিপ প্রোডাক্ট অন্তর্ভুক্ত। বেসিক্যালি, OpenGL 2.0 গ্রাফিক্স কার্ড এবং কমপক্ষে ৫১২ MB ভিডিও মেমরি থাকলে এই অ্যাপ্লিকেশনগুলোর বিভিন্ন টাস্ক ত্বরান্বিত করা যায়।
কেন Adobe-এ এই ক্ষমতা যোগ করা হয়েছে? Photoshop এবং Premiere Pro-তে অনেক স্পেশালাইজড ফিল্টার থাকে যেটি হাই-লেভেল ম্যাথেম্যাটিক্স চায়। বড় ইমেজ বা ভিডিও স্ট্রিম রেন্ডার করার সময় GPU-র মাধ্যমে ক্যালকুলেশন অফলোড করলে রেন্ডারিং টাইম কমে। কেউ কেউ পার্থক্য বুঝতে পারেন না, আবার কেউ কেউ ব্যবহার করা টাস্ক এবং গ্রাফিক্স কার্ডের উপর ভিত্তি করে বড় টাইম গেইন পান।
৪. ক্রিপ্টোকারেন্সি মাইনিং
ভার্চুয়াল কারেন্সি অর্জনের স্ট্যান্ডার্ড পদ্ধতি হলো ক্রিপ্টোকয়েন মাইনিং। এতে আপনার কম্পিউটারকে ট্রানজ্যাকশন ডিল করার জন্য কম্পিউটেশন হ্যাশ প্রসেস করার রিলে হিসেবে ব্যবহার করা হয়। CPU এটি এক লেভেলে করতে পারে। কিন্তু গ্রাফিক্স কার্ডের GPU দ্রুততর পদ্ধতি অফার করে। ফলে GPU-যুক্ত PC GPU-বিহীন PC-র চেয়ে দ্রুত কারেন্সি জেনারেট করতে পারে।
৫. OpenCL
গ্রাফিক্স কার্ডের অতিরিক্ত পারফরম্যান্স ব্যবহারের সবচেয়ে উল্লেখযোগ্য উন্নতি হলো OpenCL (Open Computer Language) স্পেসিফিকেশনের রিলিজ। এই স্পেসিফিকেশন GPU এবং CPU-র পাশাপাশি বিভিন্ন স্পেশালাইজড কম্পিউটার প্রসেসরকে একসাথে নিয়ে কম্পিউটিং ত্বরান্বিত করে। সব ধরনের অ্যাপ্লিকেশন ভিন্ন প্রসেসরের মিশ্রণ ব্যবহার করে প্রসেসড ডেটার পরিমাণ বাড়াতে পারে।
GPU-কে কী কিছু রোকেছে?
স্পেশালাইজড প্রসেসর কম্পিউটারের জন্য নতুন নয়। গ্রাফিক্স প্রসেসর কম্পিউটিং বিশ্বের সবচেয়ে সফল এবং ব্যাপকভাবে ব্যবহৃত আইটেমের একটি। সমস্যা হলো এই স্পেশালাইজড প্রসেসরগুলকে গ্রাফিক্স বাদে অন্যান্য অ্যাপ্লিকেশনের জন্য অ্যাক্সেসযোগ্য করা। অ্যাপ্লিকেশন লেখকদের প্রতিটি গ্রাফিক্স প্রসেসরের জন্য স্পেসিফিক কোড লিখতে হয়। কিন্তু ওপেন স্ট্যান্ডার্ডের ঠেলার কারণে কম্পিউটারগুলো আগামকালে তাদের গ্রাফিক্স কার্ড থেকে আগের চেয়ে বেশি কাজ নিতে পারবে।