এর সহজ উত্তরটি হ'ল একটি জিপিইউ সবচেয়ে ভাল কাজ করে যখন আপনার খুব বড় সংখ্যক আইটেমের প্রত্যেকটিতে মোটামুটি ছোট, মোটামুটি সহজ গণনা করা দরকার। এই উপায়ে অনেক কিছু সম্পাদন করতে, প্রতিটি আইটেমের গণনা অন্যান্য আইটেমগুলির জন্য গণনার থেকে পৃথক হতে হবে। যদি একটি আইটেম এবং অন্যটির মধ্যে কিছুটা নির্ভরতা থাকে (সাধারণত), আপনি জিপিইউতে সেই কোডটি কার্যকর করার আগে আপনাকে কিছুটা বের করার আগে সাধারণত এটি ভেঙে ফেলার কোনও উপায় খুঁজে বের করতে হবে। যদি নির্ভরতা একেবারেই ভাঙা না যায়, বা ব্রেক করার জন্য খুব বেশি কাজের প্রয়োজন হয়, কোডটি সিপিইউতে দ্রুত কার্যকর করতে পারে।
বেশিরভাগ বর্তমান সিপিইউ বেশ কয়েকটি প্রকারের ক্রিয়াকলাপ সমর্থন করে যা একটি বর্তমান জিপিইউ কেবল সমর্থন করার চেষ্টা করে না (যেমন, মাল্টিটাস্কিংয়ের জন্য মেমরি সুরক্ষা)।
এটিকে কিছুটা ভিন্ন দিক থেকে দেখলে, সিপিইউগুলি (মূলত) ডিজাইন করা হয়েছে প্রোগ্রামারদের জন্য যুক্তিসঙ্গতভাবে সুবিধাজনক করার জন্য, এবং হার্ডওয়্যার লোকেরা তাদের উপযুক্ত (এবং এটি একটি ভাল ভাল এটি!) তৈরি করার জন্য সেই সুবিধাজনক মডেলটি বজায় রাখে প্রোগ্রামার, তবে এখনও যত তাড়াতাড়ি সম্ভব কার্যকর করে।
জিপিইউগুলি বরং বিপরীত দিক থেকে আসে: তারা হার্ডওয়্যার ডিজাইনারের পক্ষে সুবিধার্থে নকশাকৃতভাবে তৈরি করা হয়েছে এবং ওপেনসিএল এর মতো জিনিসগুলি হার্ডওয়ারের সীমাবদ্ধতার কারণে কোনও প্রোগ্রামিং মডেলের যথাসম্ভব যুক্তিসঙ্গত সরবরাহ করার চেষ্টা করেছে।
জিপিইউতে চলার জন্য লিখিত কোডটি সাধারণত সিপিইউতে না করার চেয়ে বেশি সময় এবং প্রচেষ্টা লাগে (তাই এটির জন্য আরও বেশি ব্যয় হবে)। যেমন, প্রাথমিকভাবে এটি করার অর্থটি কখন / যদি হয়:
- সমস্যাটি এতটা সমান্তরাল যে আপনি ন্যূনতম প্রচেষ্টা থেকে একটি বড় লাভ আশা করতে পারেন, বা
- গতি বৃদ্ধি এত গুরুত্বপূর্ণ যে এটি অনেক অতিরিক্ত কাজের ন্যায্যতা দেয়।
প্রত্যেকটির জন্য কিছু স্পষ্ট সম্ভাবনা রয়েছে - তবে বিপুল সংখ্যক অ্যাপ্লিকেশনগুলি একটিরও কাছে নেই। আমি জিপিইউতে যে কোনও সময় শীঘ্রই সিআরইউডি অ্যাপ্লিকেশনটি দেখে খুব অবাক হয়েছি (এবং যদি তা হয় তবে সম্ভবত এটি ঘটবে কারণ কেউ সঠিক লক্ষ্যটি মাথায় রেখেই বেরিয়েছে, অগত্যা কোনও অনুকূলের কাছে পৌঁছানোর কিছু নয়) ব্যয় / বেনিফিট অনুপাত)।
বাস্তবতাটি হ'ল অনেকগুলি (আমি "সর্বাধিক" বলতে প্রলোভিত হয়েছি) অ্যাপ্লিকেশনগুলির জন্য, একটি সাধারণ সিপিইউ যথেষ্ট দ্রুতগতির চেয়ে অনেক বেশি, এবং প্রোগ্রামিং সুবিধা (নতুন বৈশিষ্ট্যগুলির সহজ বিকাশের মতো জিনিসগুলির দিকে পরিচালিত করে) এর চেয়ে অনেক বেশি গুরুত্বপূর্ণ কার্যকর করার গতি