QGIS में मल्टीथ्रेड प्रसंस्करण सक्षम करना?


11

मुझे कई लिंक मिले हैं जो कहते हैं कि यह अब QGIS 2.2 में मौजूद है, लेकिन ऐसा प्रतीत होता है कि यह केवल एक कोर का उपयोग पूरी क्षमता से कर रहा है।

यह Ubuntu 14.04 पर चल रहा है

वर्तमान प्रक्रिया बड़ी मात्रा में नियमित अंक बना रही है। मैं उस प्रक्रिया को एक से अधिक कोर का उपयोग कैसे कर सकता हूं?

सि पि यु का उपयोग


1
मुझे लगता है कि यह 2.4, अगली रिलीज में होगी। हालांकि, यदि आप इसे रात के निर्माण को डाउनलोड करने का प्रयास करना चाहते हैं।
मैट

यह शायद टिप्पणी करने लायक है कि जीआईएल के कारण "मल्टीथ्रेडिंग" समवर्ती कोर नहीं चलेगा। बाहर की जाँच करें stackoverflow.com/questions/1294382/… आप क्या चाहते हैं "मल्टीप्रोसेसिंग"।
मि। पर्पल

जवाबों:


6

बहु-स्तरीय रेंडरिंग QGIS 2.2 नहीं है, यह एक विशेषता है जो QGIS 2.4 में उपलब्ध होगी।

आप परीक्षण के लिए QGIS मास्टर (रात) की कोशिश कर सकते हैं, और फिर QGIS 2.4 20 जून, 2014 को रिलीज के लिए निर्धारित है


वूप्स, आपके सवाल को गलत और टिप्पणियों से, ऐसा लगता है कि मल्टीथ्रेडेड प्रोसेसिंग कुछ ऐसा है जो QGIS डेवलपर स्तर या पायथन प्लगिन योगदानकर्ता स्तर पर होता है।

यदि कोई विशिष्ट QGIS उपकरण है, जिसका उपयोग आप उस मेनू से कर रहे हैं, जिसे QGIS में बनाया गया है, तो मल्टीथ्रेडेड प्रोसेसिंग प्राप्त करने के लिए, इसे शायद QGIS के लिए एक डेवलपर द्वारा कोडित किया जाना चाहिए या टूल (GDAL, SAGA, Orfeo) के रूट पर भी GRASS, R डेवलपर्स, आदि ...)।

यदि पाइथन के आस-पास सबसे अधिक संभावना कोडित है, तो उस प्लगइन के योगदानकर्ता या अनुरक्षक यह देख सकते हैं कि क्या इसके प्रदर्शन को बढ़ाने के लिए multiprocessingया threadingमॉड्यूल को शामिल करना संभव है ।

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


यह शर्म की बात है ... मेरे पास अतीत में स्रोत से निर्माण के मुद्दे थे। अगर मैं सिर्फ नाइटीज़ के लिए पीपा जोड़ता हूं और सभी समान एपेट के साथ स्थापित करता हूं, तो क्या यह मुझे नवीनतम रात देगा? स्थिरता पर कोई विचार?
jpmaniac87

@ jpmaniac87 मैंने लंबे समय में उबंटू का उपयोग नहीं किया है और आर्क लिनक्स पर अपना जीआईएस काम करता हूं इसलिए मैं स्रोत से सब कुछ संकलित करता हूं। इसलिए मुझे नहीं पता कि उबंटू के लिए पीपीए कैसा है और यदि आप एक ही समय में क्यूजीआईएस (मास्टर) के साथ क्यूजीआईएस (स्थिर) स्थापित कर सकते हैं।
सॉल्टडॉन

@ jpmaniac87 एक अन्य प्रश्न में इस उत्तर से ऐसा लगता है कि यह संभव नहीं हो सकता कि क्यूजीआईएस संस्करण उबंटू पर कैसे पैक किए जाएं। ऐसा लगता है कि यह एक या एक है।
सॉल्टडॉन

PPA काम करते हैं। मैंने अभी-अभी स्थिर पंक्तियों पर टिप्पणी की और रात को स्थापित किया। ये तेज़ है! लेकिन ... यह केवल प्रतिपादन के लिए कई थ्रेड्स का उपयोग करता है ... मैं प्लगइन प्रक्रियाओं की अधिक उम्मीद कर रहा था। मुझे लगता है कि इसका मतलब यह होगा कि प्लगइन रचनाकारों को अपने कोड में मल्टीथ्रेडेड प्रसंस्करण के लिए अनुमति देने की आवश्यकता होगी?
jpmaniac87

1
@ jpmaniac87 Yea, क्योंकि प्लगइन्स पाइथन के साथ बनाए गए हैं, और पाइथन के लिए एक (multiprocessing या आमतौर पर इस्तेमाल किया जाता है ) मॉड्यूल है कि उन्हें विशेष रूप से अपनी स्क्रिप्ट में जोड़ना होगा। threading threadingqueue
सॉल्टडॉन

3

निर्भर करता है कि आप क्या कर रहे हैं। जब प्रसंस्करण नए कार्य प्रबंधक ढांचे में पोर्ट किया जाता है तो एल्गोरिदम समानांतर (जहां संभव हो) में चलने में सक्षम होंगे। उदाहरण के लिए, एक परत के लिए एक बफर चल सकता है जबकि दूसरी परत पर एक परिवर्तन होता है। आप साथ में चलाना के बाद कर रहे हैं के भीतर (उदाहरण के लिए बफरिंग से अधिक थ्रेड का उपयोग करते हुए) एक एकल एल्गोरिथ्म तो मैं जगह इस संभाल करने में कोई योजना से अनभिज्ञ हूं।

स्रोत: http://osgeo-org.1560.x6.nabble.com/Will-Processing-in-QGIS-3-support-parallelization-td5301809.html


पुराना उत्तर: 2015 के Google समर कोड के दौरान QGIS प्रोसेसिंग के लिए मल्टी-थ्रेडिंग समर्थन विकसित किया गया है। कोड वर्तमान में समीक्षाधीन है और 2016 में डेवलपर संस्करण में उतरने की उम्मीद है। (स्रोत: http://boundlessgeo.com/2015/12/latest-developments-in-qgis-processing/ )

... यह समाधान दुर्भाग्य से विलय नहीं किया जा सका।


इस मामले पर कोई अपडेट @underdark?
रिकार्डो बारोस लोरेनको

समानांतरकरण अभी भी अधिकांश अनुप्रयोगों में सीमित है, दुर्भाग्यपूर्ण है। मेरी समझ यह है कि डेटाबेस इन्फ्रास्ट्रक्चर का उपयोग करना, जैसे कि PostGIS / पोस्टग्रेज, प्रश्नों के अधिक एकीकृत प्रबंधन की अनुमति देता है और बेहतर मल्टीथ्रेडिंग क्षमताएं हैं।
CrystallineEntity 5

2

कुछ थ्रेडिंग को QGIS कोर फंक्शनलिटी में शामिल किया जा रहा है (उदाहरण के लिए SaultDons उत्तर में वर्णित है) लेकिन कई फ़ंक्शन या एल्गोरिदम उनके डिवेलपमेंट के आधार पर थ्रेडिंग निगमित हो सकते हैं या नहीं हो सकते हैं।

उन pyQGIS प्लगइन लेखकों के लिए (शायद ओपी सहित) अपने प्लगइन / स्क्रिप्ट में थ्रेडिंग को शामिल करने की इच्छा रखते हैं, कुछ मदद स्नोरफालॉर्पगस ब्लॉग पर उपलब्ध है उम्मीद है कि अधिक से अधिक देव थ्रेडिंग का उपयोग करेंगे - विशेष रूप से अधिक कर एल्गोरिदम के लिए।

एक स्टॉपगैप के रूप में आप अपनी प्रक्रिया को स्क्रिप्ट करने में सक्षम हो सकते हैं और एक गरीब-व्यक्ति समानांतर प्रक्रिया योजना का उपयोग कर सकते हैं जिसमें एरिक्रोनस शेल स्क्रिप्ट को कॉल किया जा सकता है जैसा कि एलेक्सिस उत्तर में वर्णित है

अगर किसी और के पास QGIS नौकरियों को समानांतर बनाने के लिए कोई अच्छा संसाधन है, तो कृपया इस उत्तर को संपादित करने और उन्हें जोड़ने के लिए स्वतंत्र महसूस करें :)

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