मैं 1000 x 1000 के सामान्य आकार, एक बड़े मैट्रिक्स के विपरीत को ले रहा हूं, लेकिन कभी-कभी 100000 x 100000 (जो वर्तमान में समय और स्मृति के कारण विफल रहता है) से अधिक है। मुझे पता है कि सामान्य भावना 'उलटा नहीं लेती है, इसे करने का कोई और तरीका ढूंढती है', लेकिन इस समय यह संभव नहीं है। इसका कारण सॉफ़्टवेयर के उपयोग के कारण है जो पहले से ही बनाई गई है जो मैट्रिक्स उलटा पाने की अपेक्षा करता है। (ध्यान दें: मैं इसे बदलने के तरीकों की तलाश में हूं, लेकिन इसमें काफी समय लगेगा)बड़े मैट्रिक्स इनवर्जन
फिलहाल हम संख्यात्मक रिकॉपी से एक LU अपघटन विधि का उपयोग कर रहे हैं, और मैं वर्तमान में ईजिन लाइब्रेरी का परीक्षण करने की प्रक्रिया में हूं । ईजिन पुस्तकालय अधिक स्थिर और थोड़ा तेज़ प्रतीत होता है, लेकिन मैं अभी भी सटीकता के लिए परीक्षण चरण में हूं। मैंने एटलस और लैपैक जैसे अन्य पुस्तकालयों पर एक त्वरित नज़र डाली है लेकिन अभी तक इनके साथ कोई महत्वपूर्ण परीक्षण नहीं किया है।
ऐसा लगता है कि ईजिन पुस्तकालय उलटा गणना करने के लिए समवर्ती तरीकों का उपयोग नहीं करता है (हालांकि उलटा के LU कारक भाग के लिए करता है) और जहां तक मैं एटलस और लैपैक को बता सकता हूं, इस सीमा में समान है। (मैं वर्तमान में ओपन के साथ ओपनएमपी के बिना गति अंतर का परीक्षण कर रहा हूं।)
पहला सवाल यह है कि कोई भी समझा सकता है कि समांतरता द्वारा मैट्रिक्स उलटा को अनुकूलित करना कैसे संभव होगा। मुझे एक लेख here मिला जो मैट्रिक्स उलटा समांतर एल्गोरिदम के बारे में बात करता है, लेकिन मुझे समझ में नहीं आया। ऐसा लगता है कि this लेख किसी अन्य विधि के बारे में बात करता है? मुझे यह भी यकीन नहीं है कि स्कैलापैक या पीईटीएससी उपयोगी हैं या नहीं?
दूसरा प्रश्न, मैंने प्रदर्शन बढ़ाने के लिए जीपीयू का उपयोग करने के लिए this लेख पढ़ा है, लेकिन मैंने कभी GPUs के लिए कोड नहीं किया है और इसलिए पता नहीं है कि क्या व्यक्त करने की कोशिश कर रहा है, लेकिन नीचे चार्ट चार्ट को खतरनाक लग रहा था। यह कैसे संभव है, और अगर यह सच होना है तो इस तरह कुछ लागू करने के बारे में कहां जाना है।
मैं भी this लेख मिला, फिर भी समय को समझने के लिए यह माध्यम से पढ़ने के लिए पड़ा है, लेकिन यह आशाजनक लगता है, के रूप में स्मृति हमारे सॉफ्टवेयर के साथ एक वर्तमान मुद्दा है।
इन लेखों या सामान्य रूप से समस्याओं के बारे में कोई भी जानकारी बहुत मददगार होगी। और फिर मैं क्षमा चाहता हूं कि यह प्रश्न अस्पष्ट लगता है, यदि आवश्यक हो तो मैं और अधिक विस्तार करने की कोशिश करूंगा।
आपका मैट्रिक्स स्पैस है या यह घना है? स्पैर मैट्रिस पर काम करने के कई अच्छे और तेज़ तरीके हैं, इसलिए उम्मीद है कि आपका उनमें से एक है। – vlsd
आप [FLAME] (http://z.cs.utexas.edu/wiki/flame.wiki/FrontPage) को देखना चाहेंगे। यह बहुत कुशल और गणितीय साबित सही रैखिक बीजगणित कोड उत्पन्न करना है जो जीपीयू समेत विभिन्न समांतर प्लेटफार्मों पर काम करता है। –
मैं फ्लैम पर एक नज़र डालेगा, अब तक इसके बारे में नहीं सुना है। धन्यवाद। – Onekuo