প্রোগ্রামাররা কেন সমান্তরালতার জন্য সি / পসিক্স প্রতিস্থাপনের জন্য প্রোগ্রামিং মডেলগুলি সংজ্ঞায়িত করেন?


10

নতুন কম্পিউটার আর্কিটেকচারের সরবরাহকারীরা নিয়মিতভাবে নতুন প্রোগ্রামিং মডেলগুলি প্রবর্তন করার চেষ্টা করেন, যেমন সম্প্রতি জিপিজিইউগুলির জন্য সিইউডিএ / ওপেনসিএল এবং প্ল্যাটফর্মের সমান্তরালতার জন্য নিয়ন্ত্রণ ইন্টারফেস হিসাবে সি / পসিক্সকে স্থানান্তরিত করুন। (পস ও কোনিং, এএম 3: বহু-কোরের জন্য একটি হার্ডওয়্যার ইউনিক্স এক্সিলারেটরের দিকে, 2015)

কেন আর্কিটেকচার ডিজাইনাররা সমান্তরাল কম্পিউটিংয়ের জন্য সি / পসিক্সকে স্থানান্তর করতে নতুন প্রোগ্রামিং মডেলগুলি ডিজাইন করার চেষ্টা করেন? সি / পসিক্স মাল্টিপ্রসেসরগুলির পক্ষে কি উপযুক্ত নয় বা সি / পসিক্সের মূল লেখকদের সি / পসিক্স ডিজাইনের সময় সমান্তরাল কম্পিউটিংয়ের প্রয়োজন নেই? অথবা এটি এমন কি যে প্রোগ্রামাররা সি / পসআইএক্স সরবরাহ করতে পারে তার চেয়ে বেশি দক্ষতার প্রয়োজন, এইভাবে নতুন ডিজাইন যেমন CUDA / ওপেনসিএল ইত্যাদির অবলম্বন করে?


7
মনে রাখবেন, সফ্টওয়্যার একটি হার্ডওয়্যার বিমূর্ততা। হার্ডওয়্যার যদি খুব বেশি পরিবর্তন হয় তবে সফ্টওয়্যার বিমূর্ততা আর ভাল হতে পারে না। আমি বিশ্বাস করি যে জিপিইউর জন্য পসিক্স থ্রেডগুলি ব্যবহার করার কথা বিবেচনা করার সময় এটি অবশ্যই সত্য, তবে আমি উত্তরে আরও সম্পূর্ণ ব্যাখ্যা করার জন্য এটি অন্য কারও কাছে রেখে দেব।

উত্তর:


10

উদাহরণস্বরূপ, পসিক্স থ্রেড এবং গ্র্যান্ড সেন্ট্রাল ডিসপ্যাচের সাথে তুলনা করুন। আমার কাছে কোড রয়েছে যা আট লাইনের কোডে চারটি থ্রেডে প্রেরণ করে। পসিক্সের সাথে, এটি সমস্তই একটি নিখুঁত দুঃস্বপ্ন।

অন্যদিকে, চুদা / ওপেনসিএল মোটেও মাল্টিথ্রেডিংয়ের বিষয়ে নয়, তবে বিশাল ভেক্টর ক্ষমতা ব্যবহারের বিষয়ে। (তারা পাশাপাশি মাল্টিথ্রেডিংও করতে পারে, তবে ভেক্টরাইজিং গুরুত্বপূর্ণ জিনিস)।


9

সিমড সমান্তরাল প্রোগ্রামিং এবং আরও প্রচলিত সমান্তরাল প্রোগ্রামিং মডেল যা POSIX ব্যবহার করে তার মধ্যে পার্থক্য রয়েছে ।

সিমডি হ'ল CUDA, ওপেনসিএল ইত্যাদি ব্যবহার করে model একাধিক নির্দেশাবলীর সেট রয়েছে যা এক সাথে অনেক থ্রেড দ্বারা সম্পাদিত হয়, প্রত্যেকে তাদের নিজস্ব ডেটা পুলটিতে অপারেটিং করে। এটি 3-ডি গ্রাফিক্সের মতো জিনিসের জন্য খুব দরকারী, যেখানে একই রূপান্তরগুলি বৃহত সংখ্যক পয়েন্টে প্রয়োগ করা হয়।

পসিক্স মডেল ধরে নিয়েছে যে প্রতিটি থ্রেড অবিচ্ছিন্নভাবে চালিত হয় এবং প্রতিটি থ্রেড সম্ভাব্যভাবে সম্পূর্ণ ভিন্ন কোড চালায়।

দুটি মডেলেরই তাদের শক্তি এবং দুর্বলতা রয়েছে - এজন্য তারা আলাদা are পসিক্স অনেক বেশি নমনীয়, তবে সিইউডিএ / ওপেনসিএল / ইত্যাদি। একযোগে কয়েক হাজার (সাধারণত সহজ) থ্রেড চালিয়ে বিশেষায়িত হার্ডওয়্যারটির সুবিধা নিতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.