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