घने रैखिक बीजगणित के लिए रनटाइम्स की भविष्यवाणी करें


9

मैं एक विशिष्ट पुस्तकालय का उपयोग करके एक विशिष्ट वास्तुकला पर घने रैखिक बीजगणित संचालन के लिए रनटाइम की भविष्यवाणी करना चाहूंगा। मैं एक मॉडल सीखना चाहता हूं जो फ़ंक्शन का अनुमान लगाता है

Fop::इनपुट आकार आकार रनटाइम

मैट्रिक्स-गुणा, तत्व-वार ऐड, त्रिकोणीय हल, आदि जैसे कार्यों के लिए ....

मुझे संदेह है कि ये रनटाइम ज्यादातर ऑपरेशन की नियमितता के कारण पूर्वानुमानित होते हैं, एक बार जब आप समस्या के आकार से परे हो जाते हैं जो आराम से कैश में फिट होते हैं।

प्रशन:

  1. क्या यह धारणा यथार्थवादी है? क्या रनटाइम फ़ंक्शन लगभग नियतात्मक होने की संभावना है?
  2. क्या मैं मान सकता हूं कि यह फ़ंक्शन इनपुट के आकार में बहुपद होगा? (यानी मुझे घने मैट्रिक्स की अपेक्षा है कि वह कुछ ऐसा देख सकता है जैसे कि और कुछ स्केलर गुणांक के लिएαn×k×mAnk×Bkmα
  3. क्या इस पर कहीं काम हो रहा है?
  4. मेरी वर्तमान योजना साथ कम से कम वर्ग प्रतिगमन करने की है। कोई अन्य सुझाव?L1

संपादित करें: स्पष्ट होने के लिए मैं रनटाइम की तलाश कर रहा हूं, FLOPs या किसी अन्य सामान्य प्रदर्शन मीट्रिक की नहीं। मैं खुद को एक विशेष वास्तुकला तक सीमित रखने के लिए तैयार हूं।

जवाबों:


10

मैं हाल ही में इस विषय पर काम कर रहा हूं। आप हमारे कागज पर एक नज़र डालना चाह सकते हैं: http://arxiv.org/abs/1209.2364

आप रैखिक बीजगणित दिनचर्या के रनटाइम भविष्यवाणी में क्यों रुचि रखते हैं? क्या आप एक निश्चित उद्देश्य के लिए मॉडल का उपयोग करने का इरादा रखते हैं?


लिंक के लिए धन्यवाद। मैं एक नजर मार लूगां। मुझे इसमें दिलचस्पी है क्योंकि मुझे उसी कारण पर संदेह है जो आप हैं। मैट्रिक्स अभिव्यक्तियों के लिए स्वचालित एल्गोरिथ्म चयन और शेड्यूलिंग। इस अत्यधिक नियमित और पूर्वानुमेय डोमेन में अन्यथा बहुत सी असंभव समस्याएं संभव होनी चाहिए।
MRocklin

6

बहुत सारा काम है। अधिकांश रेखीय बीजगणित पुस्तकालय डेवलपर्स फ्लोटिंग-पॉइंट प्रदर्शन के संदर्भ में प्रदर्शन परिणाम प्रकाशित करते हैं जिन्हें रन टाइम में परिवर्तित किया जा सकता है।

उदाहरण के लिए "DGEMM प्रदर्शन" के लिए गुग्लिंग, निम्नलिखित पैदावार देता है: http://math-atlas.sourceforge.net/timing/3_5_10/index.html

आम तौर पर, आप उत्तरों को गैर-चिकनी होने की उम्मीद कर सकते हैं। कुछ समस्या आकार (जो कैश आकार से संबंधित है) के आसपास के क्षेत्र में कूदता है या स्पाइक्स होगा। आपको दरों में पठारों की भी उम्मीद करनी चाहिए, और इसलिए, समस्या के आकारों की एक विस्तृत श्रृंखला के लिए रैखिक-ईश क्षेत्र। मुझे उम्मीद नहीं है कि बहुपद फिट होने में बहुत मददगार होगा।

एक व्यापक-आधारित बेंचमार्किंग प्रयास को देखते हुए, परिणामों को सारणीबद्ध करना और आवश्यक रूप से प्रक्षेपित करना आसान हो सकता है। आपका लक्ष्य क्या है?


1
एक फ्लॉप / पठार DGEMMइंगित करता है an3क्षेत्र क्योंकि वह फ्लॉप समस्या आकार के साथ बढ़ रहा है। मैं सहमत हूं कि एक एकल बहुपद को फिट करने की कोशिश करने की तुलना में एक टुकड़ा-योग्य फिट बहुत बेहतर होना चाहिए।
जेड ब्राउन

रनटाइम्स के लिए फ्लॉप्स को बदलना, मेरे अनुभव में, मुश्किल है। मैं वास्तव में केवल अपने मामले में रनटाइम के बारे में परवाह करता हूं। मैं स्थिर शेड्यूलिंग की व्यवहार्यता का परीक्षण कर रहा हूं।
MRocklin

मेरे अनुभव में स्पाइक्स / पठार केवल छोटी समस्या के आकार के लिए होते हैं। एक बार जब आप कैश से परे निकल जाते हैं तो चीजें बहुत चिकनी होती हैं। मैं मानता हूं कि टुकड़ों में काम करने से शायद फिट में सुधार होगा।
MRocklin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.