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