क्या स्रोत से LAPACK संकलित करने का कोई लाभ है या उबंटू से प्रीबिल्ट पैकेज स्थापित करने के लिए?


13

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


यह देखने के लिए इस तकनीक की कोशिश करने के लायक हो सकता है कि क्यों समय बिताया जा रहा है। मैंने पाया है, अगर मैं बड़े-बड़े मैट्रिसेस के साथ बहुत काम कर रहा हूं, तो लाइब्रेरी रूटीन अपना आधा से अधिक समय अपने इनपुट कैरेक्टर के झंडे और अन्य इनपुट वर्गीकरण को वर्गीकृत करने में बिताते हैं, इसलिए आपको लाइब्रेरी को बढ़ाने से बहुत अधिक गति प्राप्त हो सकती है। कुछ अच्छी तरह से चुना हाथ से कोडित दिनचर्या के साथ।
माइक डनलैवी

जवाबों:


9

OpenBlas काफी तेज है, इसलिए आप इसे LAPACK से लिंक कर सकते हैं। क्या आपने अपने CPU विक्रेता से LAPACK / BLAS का पूर्वनिर्धारित संस्करण आज़माया है? उदाहरण के लिए एएमडी एसीएमएल (फ्री) या इंटेल एमकेएल (गैर-वाणिज्यिक और गैर-शैक्षणिक उपयोग के लिए लिनक्स पर मुफ्त)? आपको बस फ़ाइल को अनपैक और चलाने की आवश्यकता है।

मेरी राय में ATLAS का उपयोग करने का एकमात्र लाभ तब है जब आप कुछ असामान्य सीपीयू का उपयोग करते हैं। अन्यथा सीपीयू विक्रेता से एक का उपयोग करें। इसके अलावा nVelia CUDA और AMD OpenCL संस्करण उपलब्ध हैं जो वास्तव में रॉक करते हैं।

संपादित करें: याद रखें कि आप हमेशा स्रोत से उबंटू डीईबी पैकेज बना सकते हैं जो आमतौर पर स्रोत से सॉफ्टवेयर संकलित करने की तुलना में बहुत आसान है।


मुझे लगता है कि मैं आपके सुझाव के साथ जा रहा हूं और एमकेएल स्थापित कर रहा हूं। डेब पैकेज के निर्माण पर टिप के लिए भी धन्यवाद, मुझे पता नहीं था कि यह संभव था।
OSE

2
याद रखें कि आपको ld (डायनामिक लाइब्रेरी लिंकर को कॉन्फ़िगर करने की आवश्यकता है, जो उन कामों को खोजने में सक्षम हो)। इंटेल MKL से BLAS और LAPACK libmkl_rt.soआमतौर पर उपयोग की गई फ़ाइल में है :-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Mis

2
एक को इंगित करना चाहिए कि इंटेल के गैर-वाणिज्यिक लाइसेंस ने प्रत्येक रिलीज़ के साथ अधिक से अधिक प्रतिबंधात्मक रूप से प्राप्त कर लिया है, इस बिंदु पर जहां वे अब अकादमिक उपयोग के बारे में बहुत स्पष्ट हैं कि यह आपके द्वारा कवर नहीं किया जा रहा है जैसे ही आप अपने शोध के लिए कोई पैसा प्राप्त कर रहे हैं।
क्रिश्चियन क्लैसन

Yest जो ध्यान देने योग्य है। हालाँकि कोई भी इसे मुफ्त में जांच सकता है:] और अगर यह उपयोगी साबित होता है, तो यह दुनिया की सबसे महंगी चीज नहीं है।
मिश्री

7

जिस तरह से संकलित किया गया था, उसके कारण रिपॉजिटरी पैकेज थ्रेडिंग के साथ उपयोग करने के लिए सुरक्षित नहीं है। मैंने लैपैक फोरम पर बग की सूचना दी , लेकिन वर्कआर्स या समाधान को रिपॉजिटरी में नीचे ले जाने में लंबा समय लगेगा। यदि आप इसे स्वयं संकलित करते हैं, तो "-frecursive" को gfortran में जोड़ना सुनिश्चित करें।


6

मेरे अनुभव में, ubuntu के हाल के संस्करणों पर ब्लास / लैपैक का उपयोग करने का सबसे अच्छा तरीका पैक किए गए ओपनब्लास का उपयोग करना है।

इसके लायक क्या है, मैं ज्यादातर अजगर / खसखस ​​के माध्यम से ब्लास / लैपैक का उपयोग करता हूं, और ओपनब्लास का उपयोग करके 200x बनाम डिफ़ॉल्ट जैसे रैखिक बीजगणित में से कुछ को गति देता है। मैंने कस्टम एटलस का उपयोग करने की कोशिश की है, लेकिन यह एक बहुत बड़ा दर्द था और अगर कोई स्पीडअप बनाम ओपनब्लस नहीं देता, तो बहुत कुछ देता, लेकिन मैं इसे गलत कर रहा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.