[এটি আমার প্রথম পোস্ট এবং আমি আশা করি আমি এসই ব্যবহারে পুরোপুরি ভুল বুঝিনি - যদি তাই হয় তবে আমি আগে থেকে ক্ষমা চাইছি]
আমি "bgschaid" এর সাথে একমত যে প্রদত্ত তথ্যের ভিত্তিতে প্রশ্নের উত্তর দেওয়া খুব কঠিন difficult আপনি যদি নিম্ন-স্তরের রুটিনগুলি কোনও বহু-কোর আর্কিটেকচারটি শোষণ করতে চান বা যদি আপনাকে বিব্রতকরভাবে সমান্তরাল সমস্যাগুলির জন্য - বা এর মধ্যে কিছু করার জন্য সমান্তরালতা কাজে লাগাতে চান তবে এটি একটি বিশাল পার্থক্য করে। পাইথনে বিভিন্ন সমান্তরাল কম্পিউটিং সম্ভাবনার একটি ওভারভিউ এখানে পাওয়া যাবে ।
পূর্ববর্তী ক্ষেত্রে আমি নিশ্চিতভাবে NumPy / SciPy এর মতো সরঞ্জামগুলি ব্যবহার করার পরামর্শ দিচ্ছি যা অন্তত এমকেএল সংকলিত সংস্করণে এনটওয়ট থেকে বহু-কোর আর্কিটেকচার সমর্থন করে। পরিবেশ পরিবর্তনশীল "MKL_NUM_THREADS" এর মাধ্যমে আপনি ব্যবহারের জন্য করের সংখ্যাটি নিয়ন্ত্রণ করতে পারেন। এটি অত্যন্ত অনুকূলিত লাইব্রেরিগুলির উপর নির্ভর করে যা পারফরম্যান্সের ভিত্তিতে আমরা খুব কমই আশা করতে পারি। আমি বিশ্বাস করি সাধারণত যখনই সম্ভব এই উচ্চ মানের এবং উচ্চতর অনুকূলিতকরণ গ্রন্থাগারগুলি ব্যবহার করার পরামর্শ দেওয়া হয়।
আপনি যদি মোটা স্তরে সমান্তরালতা কাজে লাগাতে চান তবে পাইথন স্ট্যান্ডার্ড টুল মাল্টিপ্রসেসিং ব্যবহার করা সহজ - এবং এটি ভাগ করা ডেটা অবজেক্টগুলিকে সমর্থন করে। মাল্টিপ্রসেসিং প্যাকেজের অংশ হিসাবে ব্যবহার করার জন্য বিভিন্ন সরঞ্জাম রয়েছে । আমি ভাল ফলাফল সহ বেশ কয়েকটি সমস্যার জন্য মানচিত্র_সায়েন্স (সিমড লাইক) এবং অ্যাপ্লিকেশন_সায়েন্স (এমআইএমডি লাইক) ব্যবহার করেছি। মাল্টিপ্রসেসিং প্যাকেজ বেশ সহজ ব্যবহার এবং পাইথন মানে আপনি সহজেই আপনার কোডের অন্যান্য সম্ভাব্য ব্যবহারকারীদের এটি ব্যবহার করতে পারবেন আশা করতে পারেন একটি প্রমিত অংশ হওয়ার নয়। মাল্টিপ্রসেসিং সরাসরি NumPy ডেটা অবজেক্টের সাথেও লিঙ্ক করে। মাল্টিপ্রসেসিং ব্যবহার করার সময় আমি আপনাকে পরিবেশের পরিবর্তনশীল "MKL_NUM_THREADS" এর জন্য 1 এর মতো সেট করার পরামর্শ দিচ্ছিNumPy কেবল প্রতিটি প্রক্রিয়া / কর্মীর জন্য একটি কোর অনুমোদিত - অন্যথায় আপনি NumPy সমান্তরাল এবং মাল্টিপ্রসেসিং এর মধ্যে একটি সংস্থান বিবাদে পৌঁছাতে পারেন যা কার্য সম্পাদনের অবনতির দিকে নিয়ে যায়। মাল্টিপ্রসেসিং একই অপারেটিং সিস্টেমের অধীনে মাল্টি-সিপিইউ / মাল্টি-কোর আর্কিটেকচারের জন্য সূক্ষ্মভাবে কাজ করে। আমি 4 x Xeon E7-4850 সিপিইউ (প্রতিটি 10 কোর) এবং 512 গিগাবাইট মেমরির সাথে একটি ভাগ করা মেমরি কম্পিউটারে মাল্টিপ্রসেসিং ব্যবহার করেছি এবং এটি অত্যন্ত ভালভাবে কাজ করেছে। ভাগ করা অ্যারেগুলি মাল্টিপ্রসেসিংয়ের মাধ্যমে পরিচালনা করা যায় rআরাই বা শেয়ারডটাইপগুলি । আপনি পাইথন ডকুমেন্টেশন এখানে খুঁজে পেতে পারেন - পরীক্ষা করুনগ্রন্থাগার.পিডিএফ ফাইল। আমার এর কয়েকটি প্রাথমিক অংশ ব্যাখ্যা করে কিছু স্লাইড রয়েছে - আপনি যদি সেগুলি চান তবে আমাকে প্রধানমন্ত্রী করুন PM
যদি আপনার বিতরণ মেমরির সাথে একটি ক্লাস্টার কনফিগারেশন থাকে তবে আমি বিশ্বাস করি এমপিআই 4পি সম্ভবত পছন্দসই সরঞ্জাম। আমি নিজে এটি ব্যবহার করি নি তবে আমি জানি যে পাইথন সমান্তরাল প্রোগ্রামিংয়ে এটি প্রচুর ব্যবহৃত হচ্ছে।