আমার কাছে একটি 60 গিগাবাইট সাইপাই অ্যারে (ম্যাট্রিক্স) আছে আমাকে অবশ্যই 5+ multiprocessing Processঅবজেক্টের মধ্যে ভাগ করতে হবে । আমি ন্যুপি-শেয়ার্ডমেম দেখেছি এবং এই আলোচনাটি সায়পাই তালিকায় পড়েছি । দুটি পন্থা বলে মনে হচ্ছে - numpy-sharedmemএবং একটি multiprocessing.RawArray()এবং NumPy dtypeগুলিকে ম্যাপিং ব্যবহার করে ctype। এখন, numpy-sharedmemযাওয়ার উপায় মনে হচ্ছে, তবে আমি এখনও একটি ভাল রেফারেন্স উদাহরণ দেখতে পাইনি। আমার কোনও ধরণের তালার দরকার নেই, যেহেতু অ্যারে (আসলে একটি ম্যাট্রিক্স) কেবল পঠনযোগ্য হবে। এখন, এর আকারের কারণে, আমি একটি অনুলিপি এড়াতে চাই। এটা তোলে শোনাচ্ছে মত সঠিক পদ্ধতি তৈরি করা শুধুমাত্র হিসেবে অ্যারের কপি sharedmemঅ্যারে, এবং তারপর এটি পাস Processবস্তু? কয়েকটি নির্দিষ্ট প্রশ্ন:
শেয়ারডেম্ম হ্যান্ডলগুলি সাব-এসগুলিতে পাস করার সর্বোত্তম উপায় কী
Process()? আমার চারপাশে একটি অ্যারে পাস করার জন্য কি আমার কিউ দরকার? একটি পাইপ ভাল হতে পারে? আমি কি কেবল এটিকেProcess()সাবক্লাসের সূচনার আর্গুমেন্ট হিসাবে পাস করতে পারি (যেখানে আমি ধরেছি এটি সংকটযুক্ত)?উপরে উল্লিখিত আলোচনায়
numpy-sharedmem64৪ বিট-নিরাপদ না থাকার কথা রয়েছে ? আমি অবশ্যই এমন কিছু কাঠামো ব্যবহার করছি যা 32-বিট ঠিকানার মতো নয়।ট্রেডঅফের
RawArray()পদ্ধতির কী আছে? ধীর, বুগিয়ার?নম্পি-শেয়ারডেম পদ্ধতিতে আমার কি কোনও টাইপ-টু-ডাইপ ম্যাপিং দরকার?
কারও কি এমন কিছু ওপেনসোর্স কোড করার উদাহরণ রয়েছে? আমি খুব শিখেছি এবং কোনও ধরণের ভাল উদাহরণ না দেখে এ কাজ করা শক্ত।
অন্যদের জন্য এটি পরিষ্কার করতে সহায়তা করতে আমি সরবরাহ করতে পারে এমন কোনও অতিরিক্ত তথ্য যদি থাকে তবে দয়া করে মন্তব্য করুন এবং আমি যুক্ত করব। ধন্যবাদ!
এই উবুন্টু লিনাক্স এবং চালানোর জন্য প্রয়োজন হতে পারে ম্যাক OS কিন্তু বহনযোগ্যতা বিপুল উদ্বেগ নয়।
multiprocessingপ্রতিটি প্রক্রিয়াটির জন্য পুরো জিনিসটির একটি অনুলিপি তৈরির প্রত্যাশা করুন ।