मेरे पास एरलांग में एक तंत्रिका नेटवर्क लिखा गया है, और मैंने अभी एक 240 कोर जीपीयू के साथ एक GeForce GTX 260 कार्ड खरीदा है। ग्राफिक्स कार्ड पर चलाने के लिए गोंद के रूप में CUDA का उपयोग करना मुश्किल है?मैं एक GPU सरणी पर पहले से लिखित समवर्ती प्रोग्राम कैसे चला सकता हूं?
उत्तर
नहीं, सीयूडीए का उपयोग करना एक मामूली मामला नहीं है।
सीयूडीए प्रोग्रामिंग मॉडल मूल रूप से सी (कुछ जोड़ों के साथ) का उपयोग करता है लेकिन GPGPU की अधिकांश क्षमताओं को प्राप्त करने के लिए आपको यह सुनिश्चित करना होगा कि आपके एल्गोरिदम CUDA दिशानिर्देशों का पालन करें। (NVidia CUDA Programming Guide देखें)
उदाहरण के लिए सर्वश्रेष्ठ मेमोरी प्रदर्शन (कहीं 70 जीबीपीएस) प्राप्त करने के लिए आपको कोलेसिंग के साथ स्ट्रीमिंग मोड में मेमोरी तक पहुंचने की आवश्यकता है, जीपीयू पर भी शाखाएं बहुत महंगी हैं, इसलिए आपको सशर्त से बचने चाहिए मुमकिन। एसडीके के साथ प्रदान की गई मार्गदर्शिका और नमूने देखें, वे एक उत्कृष्ट प्रारंभिक बिंदु
यूप, यह बहुत काम है। एक महत्वपूर्ण गति प्राप्त करने के लिए आपको समझना होगा कि आंकड़ों की व्यवस्था कैसे करें और आधे युद्धों की अवधारणा और उल्लिखित अनुसार। इसके अलावा मेरा मानना है कि लक्ष्य मशीन कोड GPU श्रृंखला के अनुसार बदलता है ... – Sushant
मेरी इच्छा है कि मैं आपको बता सकता हूं कि एरलांग ... ;-) के साथ ऐसा कैसे करें, लेकिन कम से कम, एमएस में सतनाम सिंह शोध ने हास्केल (लावा) और एफ # के साथ कुछ बहुत ही रोचक काम किया है। शायद इस पत्र आप कैसे यह किया जा सकता है के लिए कुछ अंतर्ज्ञान दे सकते हैं:
टूटा लिंक। सतनाम का होमपेज यहां है: http://research.microsoft.com/en-us/people/satnams/ –
भयानक सवाल है, तो आप erlang समुदाय में इस बढ़ाने पर विचार करना चाह सकते हैं, यह erlang में कुछ सही मायने में उल्लेखनीय परिवर्तन को प्रेरित कर सकता है! :-) – none
@ नहीं: मुझे शक है कि। Erlang concurrency मॉडल CUDA या OpenCL उपयोग जैसी समवर्ती मॉडल भाषाओं के साथ बहुत अच्छी तरह से किराया नहीं है। मैंने एरलांग के लिए ओपनसीएल बाइंडिंग लिखने के लिए कुछ (अभी तक अप्रकाशित) प्रयास किए हैं, लेकिन अब के लिए एकमात्र असली एप्लिकेशन जो मैं देख रहा हूं वह तेजी से मैट्रिक्स ट्रांसफॉर्मेशन जैसी चीजें कर रहा है। – Amadiro