उदाहरण के लिए मेरे पास Atlas, OpenBlas, MKL एक ही समय में मेरे उबंटू 14.04 पर स्थापित हो सकता है और Caffe को पुन: संकलित किए बिना उनके बीच स्विच कर सकता है?क्या प्रोग्राम को पुन: सम्मिलित किए बिना बीएलएएस पुस्तकालयों के बीच स्विच करना संभव है?
उत्तर
ज़रूर, आप उन्हें स्थापित किया है करने के लिए है, और Ubuntu/डेबियन मुद्दा आदेश पर
update-alternatives --config libblas.so.3
आप विकल्प की सूची गिने प्राप्त करेंगे और आसानी से
लिंक उनके बीच स्विच कर सकते हैं: https://wiki.debian.org/DebianScience/LinearAlgebraLibraries
एक और सवाल क्या होगा यदि मैं सामान्य तरीके से ओपनब्लैस का निर्माण करता हूं और ध्वज के साथ USE_OPENMP = 1? क्या मैं उनके बीच स्विच कर सकता हूं? यानी मैं लाइब्रेरी संशोधनों/संस्करणों के बीच स्विच कर सकता हूं? – mrgloom
@mrgloom हाँ, लेकिन वे एक ही विकल्प प्रदान करते हुए, अलग-अलग पैकेज होना चाहिए। फिर 'अपडेट-विकल्प' उनके बारे में जानेंगे –
लेकिन मैं उन्हें कई पैकेज के रूप में कैसे बना सकता हूं?उदाहरण के लिए यदि मैं 'make' के माध्यम से स्रोत से OpenBlas का निर्माण करता हूं और फिर' PREFIX = your_installation_directory1' इंस्टॉल करता हूं और फिर मैं 'USE_OPENMP = 1'' बना देता हूं और 'PREFIX = your_installation_directory2' इंस्टॉल करता हूं, तो' अपडेट-विकल्प 'मेरे बिल्ड ढूंढ सकता है इस फ़ोल्डरों में या मैं 'इंस्टॉल इंस्टॉल' के माध्यम से उबंटू की डिफ़ॉल्ट lib निर्देशिका में एक ही lib के दो अलग-अलग निर्माण कैसे स्थापित कर सकता हूं? – mrgloom
हाँ, आप कर सकते हैं। आपको बस डायनामिक लाइब्रेरी लिंकिंग का उपयोग करने की आवश्यकता है। libblas.so.3
/etc/alternatives/libblas.so.3
करने के लिए एक नरम जोड़ने कौन सा BLAS
पुस्तकालय कार्यान्वयन
उदाहरण के लिए करने के लिए बारी अंक में अगर आप Atlas
(sudo apt-get install libatlas3-base
) को स्थापित करने से है:
/usr/lib/libblas.so.3 -> /etc/alternatives/libblas.so.3
/etc/alternatives/libblas.so.3 -> /usr/lib/atlas-base/atlas/libblas.so.3
जबकि Openblas
(sudo apt-get install libopenblas-base
) स्थापित करने के बाद:
/usr/lib/libblas.so.3 -> /etc/alternatives/libblas.so.3
/etc/alternatives/libblas.so.3 -> /usr/lib/openblas-base/libblas.so.3
बेशक आप अपने स्वयं के मुलायम लिंक का उपयोग कर सकते हैं लाइब्रेरी बनाता है।
आप सिस्टम विस्तृत सेटिंग्स को बदलने के बिना भी ऐसा कर सकते हैं, उदाहरण के लिए लाइब्रेरी को जोड़कर आप LD_PRELOAD
या LD_LIBRARY_PATH
पर्यावरण चर में उपयोग करना चाहते हैं। इस पथ पर पहली लाइब्रेरी का प्रयोग प्रतीकों को हल करने के लिए किया जाएगा।
उदाहरण के लिए, आप
LD_PRELOAD=/path/to/blas/lib.so ./my_executable_using_caffe
साथ चला सकते हैं आप देख सकते हैं कि इस दृष्टिकोण अलग कार्यान्वयन के लिए एक बेंच मार्किंग स्क्रिप्ट के हिस्से के रूप अत्यंत उपयोगी होगी क्योंकि यह बेंच मार्किंग वातावरण ही प्रभावित नहीं करता। उदाहरण (बैश में) के लिए:
my_libraries=/path/to/blas1.so /path/to/blas2.so
for lib in $my_libraries
do
LD_PRELOAD=${lib} ./my_executable_using_caffe
done
यह दृष्टिकोण, गतिशील जोड़ने के आधार पर, किसी भी अन्य साझा लाइब्रेरी अपने कार्यक्रम के खिलाफ संकलित किया गया है करने के लिए लागू होता है।
- 1. क्या प्रोफेसर पुस्तकालयों के बिना हास्केल प्रोग्राम को प्रोफाइल करना संभव है?
- 2. बीएलएएस और लैपैक पुस्तकालयों को
- 3. क्या पुन: कंपाइल किए बिना PHP में जीडी/टीटीएफ समर्थन जोड़ना संभव है?
- 4. क्या ऑपरेटर को %% के बिना परिभाषित करना संभव है?
- 5. क्या प्रक्रियाओं के बीच पोस्टमेसेज को ट्रैक करना संभव है?
- 6. क्या डेटा को MySQL दृश्य में सम्मिलित करना संभव है?
- 7. क्या इसे स्थापित किए बिना lxml जैसी लाइब्रेरी को शामिल करना संभव है?
- 8. ओपनएसएसएल पुस्तकालयों को एक प्रोग्राम
- 9. क्या उपयोगकर्ता को गिट रेपो पर स्विच करना संभव है?
- 10. क्या रिटर्न प्रकार का उपयोग किये बिना दो int arrays को सम्मिलित करना संभव है?
- 11. क्या हैशटेबल को सॉर्ट करना संभव है?
- 12. क्या इसे पुन: बनाने के बिना PubSub सदस्यता के लिए वैश्विक स्वीकृति समय सीमा को संशोधित करना संभव है?
- 13. क्या रीबूट किए बिना कर्नेल ड्राइवर को अनलोड करना संभव है?
- 14. क्या डेटाग्रिडव्यू में पंक्तियां और कॉलम स्विच करना संभव है?
- 15. ग्रहण के बिना Xtext का उपयोग करना संभव है?
- 16. क्या पुन: लिखने के बिना किसी फ़ाइल में डेटा प्रीपेड करना संभव है?
- 17. क्या आईओएस एंटरप्राइज़ ऐप्स को अपग्रेड किए बिना प्रावधान प्रोफाइल को नवीनीकृत करना संभव है?
- 18. क्या कैनवास के बिना एक छवि पिक्सल करना संभव है?
- 19. क्या Django को पुनरारंभ किए बिना दृश्य को फिर से लोड करना संभव है?
- 20. क्या जेएसएफ में सर्वर को पुनरारंभ किए बिना ऐप को अपडेट करना संभव है?
- 21. क्या प्रक्रिया को पुनरारंभ किए बिना आईआईएस को एज़ूर वेब भूमिका पर पुनरारंभ करना संभव है?
- 22. क्या अभी तक कॉमनजेएस पुस्तकालयों का उपयोग करना संभव है?
- 23. क्या फाइलों के बीच बुद्धिमान diffing करना संभव है?
- 24. प्रोटोबफ-नेट का उपयोग करना, स्मृति को आवंटित किए बिना संदेश को deserialize करना संभव है?
- 25. को पुन: प्रारंभ * बिना
- 26. सबक्वायरी का पुन: उपयोग करना संभव है?
- 27. पंक्तियों को पुन: व्यवस्थित किए बिना WPF मल्टी-लाइन टैबकंट्रोल
- 28. क्या जावास्क्रिप्ट के ऑनसममिट ईवेंट को प्रोग्राम पर प्रोग्राम रूप से कॉल करना संभव है?
- 29. क्या एक स्विच स्टेटमेंट में निम्नलिखित करना संभव है - सी ++?
- 30. क्या इसकी प्रतिबाधा प्रदान किए बिना जावा फ़ाइल को संकलित करना संभव है?
@Shai कैफे के साथ विभिन्न BLAS libs बेंचमार्क करने के लिए। – mrgloom
यह एक दिलचस्प काम है। यदि आप किसी भी निष्कर्ष तक पहुंचते हैं तो यह अच्छा होगा अगर आप उन्हें यहां साझा करते हैं। – Shai