2011-02-25 14 views
9

क्या मैं लिनक्स कर्नेल में ओपनजीएल का उपयोग कर सकता हूं? यही है, मैं कुछ कोड के प्रदर्शन में सुधार करना चाहता हूं, इसलिए GPU का उपयोग किसी अन्य ड्राइवर के लिए लाभ होगा। यह निश्चित है कि जीपीयू मशीन पर तय किया जाएगा जिसके लिए यह कर्नेल बनाया जाएगा।क्या कर्नेल में ओपनजीएल का उपयोग कर सकते हैं?

क्षमा करें अगर मुझे मूर्खतापूर्ण लगता है, तो मैं इस पल के लिए सामान्य तस्वीर प्राप्त करने की कोशिश कर रहा हूं।

धन्यवाद!

उत्तर

4

नहीं, आप नहीं कर सकते, सबसे बड़ा कारण यह है कि आप कर्नेल में फ़्लोटिंग पॉइंट गणित का उपयोग नहीं कर सकते हैं। इसके अलावा कर्नेल के भीतर से इस तरह के ड्राइवर तक पहुंच एक बहुत बुरा विचार है। मुझे नहीं पता कि कर्नेल भी एक यूजरोड लाइब्रेरी (libGL.so या libOpenCL.so) से लिंक करने में सक्षम है या नहीं।

+2

कर्नेल मोड में एफपीयू का उपयोग करना संभव है, लेकिन यह अविश्वसनीय रूप से कठिन और थकाऊ है। और आमतौर पर यह निष्पक्ष नहीं होना चाहिए। दुर्भाग्यवश मुझे हाल ही में कुछ डिवाइस से निपटना पड़ा, जिसके लिए मुझे कर्नेल मॉड्यूल * गैह * में फ्लोटिंग पॉइंट ऑपरेशंस करने की आवश्यकता थी। – datenwolf

+0

धन्यवाद दोस्तों। मैं अभी भी सोच रहा हूं कि कर्नेल के भीतर से opengl लाइब्रेरी को लोड करना संभव है या नहीं। :-) –

+2

@ एल्बस डंबलडोर: नहीं, यह संभव नहीं है। उपयोगकर्ता अंतरिक्ष पुस्तकालय कर्नेल में क्या पाया जा सकता है, उससे एक पूरी तरह से अलग वातावरण की उम्मीद है। – datenwolf

5

ओपनजीएल स्क्रीन पर 3 डी प्रदर्शित करने के लिए है, मैं वास्तव में नहीं जानता कि आप इसे कर्नेल में किस तरह से उपयोग करना चाहते हैं।

यदि आप कुछ गणनाओं के लिए जीपीयू की कम्प्यूटेशनल पावर का उपयोग करना चाहते हैं, तो मुझे लगता है कि यह कर्नेल के कुछ हिस्सों में व्यवहार्य होगा, लेकिन मुझे संदेह है कि यह दर्द के लायक है।

+0

मैं कुछ जीपीजीपीयू प्रोग्रामिंग करने की सोच रहा हूं, यानी स्ट्रीम प्रोसेसिंग। –

+1

@ एल्बस डंबेलडोर: और यह कर्नेल में क्यों करते हैं? एक कर्नेल मोड में जितना संभव हो उतना समय बिताना चाहता है। – datenwolf

+0

उम, हाँ, लेकिन जहां तक ​​मैं इसे सही ढंग से समझता हूं, यह एक डिवाइस ड्राइवर का हिस्सा बनने जा रहा है, मुझे थोड़ा संशोधित करने की आवश्यकता होगी। –

3
  • जीपीयू बस कल्पना करने के तरीके पर काम नहीं करते हैं।
  • आप क्या करना चाहते हैं? बस कुछ मानक गणना? कर्नेल कोड उपयोगकर्ता स्पेस कोड से तेज़ नहीं चलता है! दरअसल कुछ चीजें धीमी होती हैं।
  • आप जानते हैं कि कर्नेल में फ्लोटिंग पॉइंट यूनिट (एफपीयू) का उपयोग करना भी बेहद अनौपचारिक और निराश है।
  • जीपीयू कंप्यूटिंग एक जादू बुलेट नहीं है।
+0

अच्छी सलाह के लिए धन्यवाद! जो मैं प्राप्त करने की कोशिश कर रहा हूं वह कुछ कोड लागू करता है जो स्ट्रीम प्रसंस्करण प्रतिमान का उपयोग करके लागू किए जाने पर अधिक कुशल होगा। –

+0

तो यह बात क्या करेगी? किस प्रकार का हार्डवेयर उस ड्राइवर के लिए है। किस तरह का डेटा। – datenwolf

+0

मुझे केवल दिलचस्पी है कि यह कर्नेल के भीतर से ओपनजीएल को आमंत्रित करने के लिए संभव है और संभव है। –

संबंधित मुद्दे