मैं C++ में हाइपरबोलिक आंशिक अंतर समीकरणों के लिए एक सॉफ्टवेयर लिख रहा हूं। लगभग सभी नोटेशन वेक्टर और मैट्रिक्स वाले हैं। उस पर, मुझे रैखिक बीजगणित सॉल्वर की आवश्यकता है। और हां, वेक्टर और मैट्रिक्स के आकार काफी भिन्न हो सकते हैं (1000 से आकार तक कहें जिन्हें केवल वितरित मेमोरी कंप्यूटिंग द्वारा हल किया जा सकता है, उदाहरण के लिए क्लस्टर या इसी तरह की वास्तुकला)। अगर मैं यूटोपिया में रहता था, तो मुझे रैखिक सॉल्वर होता था जो क्लस्टर, जीपीयू और मल्टीकोर के लिए बहुत अच्छा था।ublas बनाम मैट्रिक्स टेम्पलेट लाइब्रेरी (MTL4)
डेटा संरचना के बारे में सोचते समय जो चर का प्रतिनिधित्व करना चाहिए, मैं boost.ublas और MTL4 accros आया। दोनों पुस्तकालय ब्लैस स्तर 3 संगत हैं, एमटीएल 4 स्पैस सॉल्वर लागू करता है और यूब्ला से बहुत तेज़ है। दोनों ने मल्टीकोर प्रोसेसर के लिए समर्थन लागू नहीं किया है, वितरित स्मृति गणना के लिए समानांतरता का उल्लेख नहीं किया है। दूसरी तरफ, एमटीएल 4 का विकास 2 डेवलपर्स (कम से कम मुझे समझ में आया) के एकमात्र प्रयास पर निर्भर करता है, और मुझे यकीन है कि उबलस बूस्ट लाइब्रेरी में है। इसके अलावा, इंटेल की एमकेएल लाइब्रेरी में यूब्ला के साथ अपनी संरचना को बाध्य करने का उदाहरण शामिल है। मैं अपने डेटा और सॉफ़्टवेयर को डेटा संरचना में बांधना चाहता हूं जो लंबे समय तक ठोस, विकसित और बनाए रखा जाएगा।
अंत में, प्रश्न। Ublas और/या mtl4 के उपयोग के साथ आपका अनुभव क्या है, और आप क्या सलाह देंगे?
thanx, mightydodol
उत्तर के लिए बड़ा thanx ... – dodol
@mightydodol: आपका स्वागत है। मैंने एक पेपर के लिए एक लिंक जोड़ा जो मैं पूरे दिन की तलाश में था। आपको यह दिलचस्प लगेगा। स्कालापैक के बारे में एक वास्तविक त्रुटि को भी सही किया।Eigen को इंगित करने के लिए – stephan
thanx। @stephan हाँ, पेपर वास्तव में दिलचस्प था। मेरे जैसा लगभग एक ही समस्या है। – dodol