এই পেপারটি বান্ডেড ম্যাট্রিক্সকে বিডায়াগোনাল ম্যাট্রিক্সে রূপান্তরিত করার জন্য প্রথম GPU-রেসিডেন্ট মেমরি-সচেতন অ্যালগরিদম উপস্থাপন করে, যা বিশেষ মূল্য বিয়োজন (SVD) এর একটি গুরুত্বপূর্ণ পদক্ষেপ। যদিও এই অ্যালগরিদমটি অত্যন্ত সমান্তরাল, এর মেমরি ব্যান্ডউইথ সীমাবদ্ধতার কারণে এটি আগে GPU কম্পিউটিংয়ের জন্য অনুপযুক্ত বলে বিবেচিত হয়েছিল। GPU হার্ডওয়্যারের বিকাশের সাথে, বিশেষত প্রতিটি স্ট্রিম মাল্টিপ্রসেসর/কম্পিউট ইউনিটে বৃহত্তর L1 মেমরি, এই পরিস্থিতি পরিবর্তিত হয়েছে। লেখকরা পূর্ববর্তী CPU মাল্টি-কোর সমান্তরাল ক্যাশে-দক্ষ bulge-chasing অ্যালগরিদমের উপর ভিত্তি করে এবং GPU থ্রুপুটের জন্য অপ্টিমাইজ করেছেন। এই অ্যালগরিদমটি NVIDIA, AMD, Intel এবং Apple Metal GPU-তে হার্ডওয়্যার এবং ডেটা নির্ভুলতা-অজ্ঞেয় একক ফাংশন বাস্তবায়ন করেছে, যা অর্ধ-নির্ভুলতা, একক-নির্ভুলতা এবং দ্বিগুণ-নির্ভুলতা গণনা সমর্থন করে। পরীক্ষাগুলি দেখায় যে GPU অ্যালগরিদম ১০২৪×১০২৪ ম্যাট্রিক্স স্কেল থেকে শুরু করে মাল্টি-থ্রেডেড CPU উচ্চ-কর্মক্ষমতা লাইব্রেরি PLASMA এবং SLATE অতিক্রম করে, ৩২k×৩২k ম্যাট্রিক্সে ১০০ গুণেরও বেশি কর্মক্ষমতা উন্নতি অর্জন করে।
বিশেষ মূল্য বিয়োজন (SVD) বৈজ্ঞানিক কম্পিউটিং, মেশিন লার্নিং এবং ডেটা বিশ্লেষণে একটি মৌলিক সংখ্যাগত সরঞ্জাম, যা প্রধান উপাদান বিশ্লেষণ, সুপ্ত শব্দার্থিক সূচকীকরণ, নিম্ন-র্যাঙ্ক অনুমান এবং ম্যাট্রিক্স সমাপ্তিতে ব্যাপকভাবে প্রয়োগ করা হয়। আধুনিক বড় আকারের হার্ডওয়্যারে SVD সাধারণত তিন-পর্যায়ের প্রক্রিয়া ব্যবহার করে:
যদিও প্রথম এবং তৃতীয় পর্যায়ের GPU বাস্তবায়ন ব্যাপকভাবে অধ্যয়ন করা হয়েছে, দ্বিতীয় পর্যায় আধুনিক GPU-তে এখনও যথাযথভাবে অন্বেষণ করা হয়নি। Dongarra এবং অন্যরা ২০১৪ সালে উল্লেখ করেছেন যে "ত্বরণকারীরা মেমরি-সীমাবদ্ধ সূক্ষ্ম-দানাদার গণনা কাজ (যেমন bulge chasing) পরিচালনায় দুর্বল পারফরম্যান্স দেখায়, যা দ্বিতীয় পর্যায়ের GPU বাস্তবায়নের সম্ভাব্য সুবিধা সীমাবদ্ধ করে"।
সাম্প্রতিক বছরগুলিতে GPU আর্কিটেকচারের অগ্রগতি, বিশেষত:
এই উন্নতিগুলি মেমরি-কম্পিউটেশন ভারসাম্যকে উল্লেখযোগ্যভাবে পরিবর্তন করেছে, মেমরি-সীমাবদ্ধ অ্যালগরিদমের পুনর্ডিজাইনের জন্য নতুন সুযোগ তৈরি করেছে।
একটি বান্ডেড ম্যাট্রিক্স A ∈ ℝⁿˣⁿ দেওয়া হয়েছে, ব্যান্ডউইথ BW সহ, লক্ষ্য হল অর্থোগোনাল রূপান্তরের মাধ্যমে এটিকে বিডায়াগোনাল ম্যাট্রিক্স B-তে রূপান্তরিত করা, যাতে A = UBVᵀ, যেখানে U এবং V অর্থোগোনাল ম্যাট্রিক্স।
অ্যালগরিদম ১: Householder ভেক্টর ব্যবহার করে বান্ডেড ম্যাট্রিক্স থেকে বিডায়াগোনাল ম্যাট্রিক্সে রূপান্তর
ইনপুট: ব্যান্ডউইথ BW, অভ্যন্তরীণ টাইল প্রস্থ TW, ম্যাট্রিক্স আকার n
১: ব্যান্ডউইথ হ্রাসের জন্য i = (BW-1)/TW → ১ do
२: লক্ষ্য ব্যান্ডউইথ TBW = १ + i·TW
३: সমান্তরাল: প্রতিটি সারি R = १→n do
४: সারি bulge k = R
५: প্রতিটি সারি bulge এর জন্য: j = ०, j+=१ do
६: যদি ३(R-१) < j এবং k ≤ n তাহলে
७: k সারির জন্য HH ভেক্টর গণনা করুন TW উপাদান বাদ দিতে এবং নিচের সারিতে প্রয়োগ করুন
८: সবচেয়ে বাম উৎপাদিত কলাম bulge এর জন্য HH ভেক্টর গণনা করুন এবং ডানদিকের কলামে প্রয়োগ করুন
९: k মান আপডেট করুন
१०: শেষ যদি
११: শেষ জন্য
१२: শেষ জন্য
१३: শেষ জন্য
অ্যালগরিদম २: মেমরি-সচেতন GPU কার্নেল, প্রতিটি ব্লকে TPB থ্রেড
१: থ্রেড মেমরি: Ai (TW+१)
२: ব্লক মেমরি: X (TW+१)
३: ব্লকের সমস্ত থ্রেড সহযোগিতা: X ← A[k,..]
४: থ্রেড সিঙ্ক্রোনাইজ করুন
५: ব্লকের সমস্ত থ্রেড সহযোগিতা: HH(X)
६: ব্লকের সমস্ত থ্রেড সহযোগিতা: A[k,..]← X
७: থ্রেড সিঙ্ক্রোনাইজ করুন
८: l এর জন্য: ०→(CBW + TW)/TPB - १ do
९: থ্রেড i: সারি r = k + l·CPB + i গণনা করুন
१०: Ai ← A[r, ...]
११: HH(X, Ai)
१२: A[r, ...]← Ai
१३: শেষ জন্য
ম্যাট্রিক্সকে ব্যান্ডউইথ টাইলে বিভক্ত করুন, ক্রমাগত ব্যান্ডউইথ ব্লকে রূপান্তর সম্পাদন করুন, সম্পূর্ণ ব্যান্ডউইথ একবারে রূপান্তরের পরিবর্তে। এই খণ্ডকরণ কৌশল অর্জন করে:
Max blocks প্যারামিটার প্রবর্তন করুন যা প্রতিটি GPU সম্পাদন ইউনিটের সমসাময়িক থ্রেড ব্লক সংখ্যা সীমাবদ্ধ করে। যখন অ্যালগরিদম প্রয়োজনীয় bulge-chasing ব্লক সংখ্যা সীমা অতিক্রম করে, তখন সফটওয়্যার-স্তরের লুপ আনরোলিং ব্যবহার করুন, একক ব্লক একাধিক কাজ বরাদ্দ করা হয় এবং একই কার্নেল লঞ্চে ক্রমানুসারে সম্পাদিত হয়।
সঠিকতা নিশ্চিত করতে এবং সমান্তরালতা সক্ষম করতে, অ্যালগরিদম ক্রমাগত সারির স্ক্যানের মধ্যে তিন-চক্র বিচ্ছেদ বাধ্যতামূলক করে। অর্থাৎ প্রতিটি তিনটি সারি bulge সম্পূর্ণ হওয়ার পরে, পরবর্তী সারি ডেটা অ্যাক্সেস ওভারল্যাপ ছাড়াই স্ক্যান শুরু করতে পারে।
মূল আবিষ্কার: १. অভ্যন্তরীণ টাইল প্রস্থ সবচেয়ে গুরুত্বপূর্ণ কর্মক্ষমতা ফ্যাক্টর
२. প্যারামিটার গুরুত্ব ব্যান্ডউইথের সাথে পরিবর্তিত হয়:
SVD সমাধানকারীর বিপরীতে, সমরূপ বান্ডেড বৈশিষ্ট্য মূল্য সমস্যার দ্বি-পর্যায়ের সমাধানকারী মিশ্র CPU-GPU সিস্টেমে প্রচুর কাজ রয়েছে, কিন্তু অ-সমরূপ বান্ডেড থেকে বিডায়াগোনাল রূপান্তর গবেষণা পিছিয়ে আছে।
প্রাথমিকভাবে সমান্তরাল অ্যালগরিদম হিসাবে প্রস্তাবিত, কিন্তু CPU-তে বিডায়াগোনাল ক্ষেত্রে গবেষণা অত্যন্ত বিরল। বিপরীতে, সমরূপ বান্ডেড থেকে ত্রি-তির্যক এবং উপরের Hessenberg ফর্মে bulge-chasing গবেষণা আরও ব্যাপক।
१. মেমরি ব্যান্ডউইথ বাধা অতিক্রম করুন: প্রমাণ করে যে মেমরি-সীমাবদ্ধ রৈখিক বীজগণিত অ্যালগরিদম আধুনিক GPU-তে শুধুমাত্র সম্ভব নয়, বরং CPU কর্মক্ষমতা উল্লেখযোগ্যভাবে অতিক্রম করতে পারে २. হার্ডওয়্যার বৈশিষ্ট্যের গুরুত্ব: L1/L2 ক্যাশে বিলম্ব আকারের চেয়ে বেশি গুরুত্বপূর্ণ, কম বিলম্ব দ্রুত মেমরি অ্যাক্সেসের গুরুত্ব জোর দেয় ३. অ্যালগরিদম ডিজাইন নীতি: সর্বোত্তম কর্মক্ষমতা নীতিগত অ্যালগরিদম ডিজাইন, ক্যাশে-সচেতন প্যারামিটারকরণ এবং পোর্টেবল কম্পাইলার অবকাঠামো থেকে আসে
१. GPU দখল মডেল: অ্যালগরিদম প্রাথমিক পর্যায়ে GPU ব্লক সংখ্যা উপলব্ধ সম্পাদন ইউনিটের চেয়ে উল্লেখযোগ্যভাবে কম, GPU সম্পদ সম্পূর্ণভাবে ব্যবহার করার জন্য যথেষ্ট বড় ম্যাট্রিক্স প্রয়োজন २. রেজিস্টার ওভারফ্লো: উচ্চ অভ্যন্তরীণ টাইল প্রস্থ রেজিস্টার ওভারফ্লো হতে পারে, কর্মক্ষমতা প্রভাবিত করে ३. হার্ডওয়্যার নির্ভরতা: বিভিন্ন GPU আর্কিটেকচার জুড়ে কর্মক্ষমতা পার্থক্য উল্লেখযোগ্য, হার্ডওয়্যার-নির্দিষ্ট টিউনিং প্রয়োজন
१. আর্কিটেকচার অপ্টিমাইজেশন: CUDA 13.0 এর মতো নতুন বৈশিষ্ট্য ব্যবহার করুন যেমন ভাগ করা মেমরি রেজিস্টার ওভারফ্লো २. অ্যালগরিদম সম্প্রসারণ: বৃহত্তর ব্যান্ডউইথ প্রক্রিয়াকরণ কৌশল অন্বেষণ করুন ३. সম্পূর্ণ SVD পাইপলাইন: সম্পূর্ণ GPU-রেসিডেন্ট SVD পাইপলাইন নির্মাণ করুন
१. অগ্রগামী অবদান: প্রথমবারের মতো GPU-রেসিডেন্ট বান্ডেড থেকে বিডায়াগোনাল রূপান্তর অ্যালগরিদম বাস্তবায়ন, গুরুত্বপূর্ণ প্রযুক্তিগত ফাঁক পূরণ করে २. উচ্চ ব্যবহারিক মূল্য: উল্লেখযোগ্য কর্মক্ষমতা উন্নতি (१०-१००० গুণ) এটিকে গুরুত্বপূর্ণ প্রয়োগ মূল্য দেয় ३. প্রযুক্তিগত উদ্ভাবন: বুদ্ধিমান ব্যান্ডউইথ খণ্ডকরণ এবং মেমরি-সচেতন ডিজাইন GPU আর্কিটেকচার বৈশিষ্ট্যের জন্য উপযুক্ত ४. শক্তিশালী পোর্টেবিলিটি: Julia-ভিত্তিক একক-উৎস বাস্তবায়ন একাধিক বিক্রেতা GPU এবং একাধিক নির্ভুলতা সমর্থন করে
१. অপর্যাপ্ত তাত্ত্বিক বিশ্লেষণ: অ্যালগরিদম জটিলতার তাত্ত্বিক বিশ্লেষণ এবং সংযোগ প্রমাণের অভাব २. সীমিত পরীক্ষা পরিসীমা: প্রধানত সিন্থেটিক ম্যাট্রিক্সে পরীক্ষা করা হয়, বাস্তব প্রয়োগ পরিস্থিতি যাচাইকরণের অভাব ३. জটিল প্যারামিটার টিউনিং: বিভিন্ন হার্ডওয়্যারের জন্য জটিল হাইপারপ্যারামিটার টিউনিং প্রয়োজন
१. একাডেমিক তাৎপর্য: GPU-তে মেমরি-সীমাবদ্ধ অ্যালগরিদমের কর্মক্ষমতা সীমানা পুনর্সংজ্ঞায়িত করে २. ব্যবহারিক মূল্য: বড় আকারের বৈজ্ঞানিক কম্পিউটিং এবং AI অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ প্রযুক্তিগত সহায়তা প্রদান করে ३. ইকোসিস্টেম অবদান: ওপেন-সোর্স বাস্তবায়ন ক্রস-প্ল্যাটফর্ম GPU রৈখিক বীজগণিত ইকোসিস্টেম উন্নয়ন প্রচার করে
পেপারটি ৮६টি সম্পর্কিত সংদর্ভ উদ্ধৃত করে, যা GPU কম্পিউটিং, রৈখিক বীজগণিত অ্যালগরিদম, Julia ভাষা ইকোসিস্টেম এবং অন্যান্য একাধিক ক্ষেত্রের গুরুত্বপূর্ণ কাজ অন্তর্ভুক্ত করে, গবেষণার জন্য একটি শক্তিশালী তাত্ত্বিক ভিত্তি প্রদান করে।