ম্যাট্রিক্স এক্সপেনসিয়েশনের সাথে সমান্তরাল গতিসম্পন্ন বিশ্লেষণের দুটি স্তর রয়েছে: "ম্যাক্রো-অ্যালগোরিদমিক" স্তর যা কোন ম্যাট্রিক্সকে গুণিত করতে হবে এবং "মাইক্রো-অ্যালগোরিদমিক" স্তরটি স্থির করে যেখানে গুণগুলি নিজেই সমান্তরালতার সাথে গতি অর্জন করতে পারে।
nnO(log2(n))O(n)
(দ্রষ্টব্য: উইকিপিডিয়া পৃষ্ঠাটি সাধারণ ম্যাট্রিক্স গণনার জন্য।
AmA
AkO(log(k))
প্রশ্নটি হল: আমরা কী এটিকে প্যারালালিজমের সাথে মারতে পারি? আমি দাবি উত্তর নেই।
এর সহজ কারণ হ'ল স্কোয়ারিংয়ের মাধ্যমে ক্ষয়ক্ষতিটি মূলত একটি গতিশীল প্রোগ্রামিং অ্যালগরিদম; এটি আপনাকে subresults পুনরায় ব্যবহার করে সমস্ত কাজ এড়িয়ে যেতে দেয়, কিন্তু এর ফলে এটি একটি ডেটা নির্ভরতা তৈরি করে যা সমান্তরালতাটিকে অস্বীকার করে। যদি আমরা ডেটা নির্ভরতা থেকে মুক্তি পেয়ে থাকি তবে আমাদের যে পরিমাণ কাজ করতে হবে তা আমরা ব্যাপকভাবে বাড়িয়ে তুলি।
k
A1A2A3A4A5...Ak
এটিকে সমান্তরাল করার প্রাকৃতিক উপায়টি সুস্পষ্ট, আপনার সম্পাদন করার জন্য অপব্যবহার করা উচিতk2
(A1A2)(A3A4)(A5A6)...(Ak−1Ak)
kO(log(k))
তবে, আমরা যদি এভাবে ক্ষতিকারক কাজটি করতে পারি তবে এটি দেখতে এটির মতো হবে:
(AA)(AA)(AA)...(AA)
A2
AknnAO(log2(n)log(k))O(nlog(k))