विंडोज 7 के साथ शायद अगले अक्टूबर (और इसके साथ डायरेक्टएक्स 11) आरटीएम के साथ जा रहा है, क्या यह डायरेक्टएक्स 11 की स्पष्ट जीपीजीपीयू सुविधाओं के लिए इंतजार कर रहा है, जिसका अर्थ है कि यह क्रॉस-प्लेटफार्म होगा (एटीआई/एनवीडिया, विंडोज/लिनक्स/मैक/जो कुछ); या अब मुझे एक सीयूडीए आवेदन बनाना चाहिए?क्या मुझे अब सीयूडीए ऐप्स बनाना चाहिए, या डायरेक्टएक्स 11 की प्रतीक्षा करनी चाहिए?
उत्तर
एक सीखने के दृष्टिकोण से मुझे लगता है कि आपको अब सीयूडीए से शुरू करने से फायदा होगा, क्योंकि इससे डेटा समांतरता में सोचने में बहुत मदद मिलेगी, जो जीपीयू अच्छे हैं। फिर जब आप डायरेक्टएक्स 11 पर जाते हैं, तो आपके पास इसके साथ काम करने के लिए अच्छी नींव है, लेकिन यह आपके द्वारा उपलब्ध समय के समय पर निर्भर करता है (यानी यदि आपके पास केवल सीखने के अनुभव के लिए सामान के साथ प्रयोग करने का समय है)।
वैकल्पिक रूप से, मैक लोग ओपनसीएल (ओपन कंप्यूट भाषा) के लिए सामान्य समाधान होने के लिए दबाव डाल रहे हैं, हालांकि इस बिंदु पर ज्यादा ज्ञात नहीं है। यह एक और तकनीक है जिसका आप इंतजार कर सकते हैं और जांच सकते हैं।
माइक्रोसॉफ्ट पीडीसी सम्मेलन इस महीने के अंत में आयोजित किया जाता है, शायद वे आपके दिमाग को बनाने में मदद के लिए डीएक्स 11 पर कुछ उपयोगी जानकारी की घोषणा करेंगे।
मेरी सामान्य सलाह यह होगी कि मुझे लगता है कि अब सीखने के लिए बहुत कुछ है जिसे आप बाद में उपयोग कर सकेंगे (डीएक्स 11 या ओपनसीएल के साथ) लेकिन आपको खुद से पूछना होगा कि क्या आप कुछ तकनीक सीखना चाहते हैं जो शायद इसे लंबे समय तक नहीं बनाओ। वैसे भी, ये सिर्फ मेरे विचार हैं, मेरे पास अभी तक CUDA के साथ बहुत अधिक अनुभव नहीं है।
एक अत्यधिक सट्टा नोट पर, मेरी आंत महसूस यह है कि सीयूडीए जैसे एपीआई लंबे समय तक जीवित नहीं रहेंगे और डायरेक्टएक्स और/या ओपनसीएल एकमात्र ऐसे समाधान हैं जिनके पास भविष्य है (जब तक कि वे वास्तव में उनके कार्यान्वयन को रोक नहीं देते, जो मैं शक)।
मेरे अनुभव से, सामान्य प्रयोजन प्रोसेसर प्रोग्रामिंग से जीपीजीपीयू प्रोग्रामिंग में प्रमुख कूद वैचारिक छलांग हैं। यहां कुंजी डेटा समांतर कोड है।
एक सीपीयू पर एक बहु थ्रेडेड वातावरण में भी, प्रत्येक थ्रेड कम स्तर पर अपनी चीज कर रहा है, और धागे के बीच सिंक्रनाइज़ेशन अपेक्षाकृत दुर्लभ घटना है। एक जीपीजीपीयू की शक्ति का उपयोग करने के लिए, आपको हजारों धागे चलाने की ज़रूरत है जो तर्कसंगत रूप से एक ही निर्देश चला रहे हैं, अलग-अलग डेटा पर, लगभग पूरी तरह सिंक में।
सीयूडीए सिंटैक्स सीखना डेटा समांतर प्रतिमान के आसपास किसी के सिर को प्राप्त करने की तुलना में अपेक्षाकृत तेज़ है, इसलिए यदि आप स्वयं को जीपीजीपीयू प्रोग्रामिंग के लिए टूलिंग करना चाहते हैं, तो सीयूडीए से शुरू होने पर यह एक बहुत ही सार्थक कदम होगा।
यदि आप सीखने का अनुभव चाहते हैं, तो इसके लिए जाओ! http://ati.amd.com/technology/streamcomputing/sdkdwnld.html
NVIDIA के Cuda और अति के सीएएल सुविधाओं में बराबर हैं:
एक अन्य विकल्प AMD/ATI के धारा एसडीके जो आप यहां से डाउनलोड कर सकते हैं। कूडा केवल एनवीडिया जीपस पर काम करता है और सीएएल केवल एटीआई जीपीएस पर काम करता है।
आखिरकार, अच्छे क्रॉस-प्लेटफार्म विकास उपकरण होंगे, लेकिन यह अभी एक बड़ा शून्य है। डायरेक्टएक्स 11 कंप्यूट शेडर्स और ओपनसीएल इसे पसंद के उपकरण के रूप में लड़ेंगे, लेकिन अभी तक कोई भी उपलब्ध नहीं है।
यदि आप कुछ "असली" ऐप बनाना चाहते हैं, न केवल एक फेंकने वाला सीखने का अनुभव, और आप इसे क्रॉस-प्लेटफ़ॉर्म पर काम करना चाहते हैं, तो कुछ विकल्प हैं: उदाहरण के लिए ब्रुक। इसके अलावा, लोग स्पष्ट जीपीजीपीयू सुविधाओं की प्रतीक्षा किए बिना कई वर्षों तक डायरेक्टएक्स और ओपनजीएल (ओपनसीएल नहीं) दोनों के साथ जीजीपीपीयू काम कर रहे हैं। Gpgpu पर जाएं।पॉइंटर्स
दोनों डायरेक्टएक्स 11 कंप्यूट शेडर्स और ओपनसीएल मुख्य रूप से सीयूडीए पर आधारित हैं, इसलिए अब सीयूडीए के साथ काम करना शुरू करना निश्चित है। असल में, वे सभी एक ही मेमोरी मॉडल का उपयोग करते हैं, और एक समान वाक्यविन्यास है, जो ब्रुक + (जिसे आप स्ट्रीम एसडीके के साथ उपयोग करेंगे) की तुलना में CUDA के करीब है।
हालांकि, अगर आप डीएक्स 11 चाहते हैं, तो प्रतीक्षा करने की कोई आवश्यकता नहीं है, बस माइक्रोसॉफ्ट से November 2008 SDK को पकड़ें जो एक DX11 पूर्वावलोकन के साथ आता है, जिसे आप पहले से ही सरल गणना शदर अनुप्रयोगों (लिखने के लिए) उपयोग कर सकते हैं।
- 1. क्या मुझे STDERR या STDOUT को चेतावनियां आउटपुट करनी चाहिए?
- 2. मुझे भाषा (CurrentThread.CurrentCulture) कहां सेट करनी चाहिए?
- 3. डायरेक्टएक्स 11
- 4. क्या मुझे यह XmlSerializer स्थिर बनाना चाहिए?
- 5. रेल - मुझे व्युत्पन्न विशेषताओं की गणना कहां करनी चाहिए?
- 6. मुझे पर्ल संदर्भों की तुलना कैसे करनी चाहिए?
- 7. मुझे अपने एप्लिकेशन की "सक्रियण" कुंजी कहां स्टोर करनी चाहिए?
- 8. क्या एक विधि जो राज्य के बदलाव की प्रतीक्षा करनी चाहिए?
- 9. मुझे गितब में परियोजनाओं की सहायता कैसे शुरू करनी चाहिए?
- 10. सी # क्या मुझे एक पृष्ठभूमि कार्यकर्ता या कई बनाना चाहिए?
- 11. क्या मुझे गिटहब या रूबीजम्स में रत्नों की मेजबानी करनी चाहिए?
- 12. क्या मुझे असामान्य समाप्ति पर आवंटित स्मृति मुक्त करनी चाहिए?
- 13. मुझे Heroku H18 त्रुटियों की व्याख्या कैसे करनी चाहिए?
- 14. सी # एक्सएनए या सी ++ डायरेक्टएक्स 11?
- 15. क्या मुझे एसवीएन में .xcodeproj फ़ाइल प्रतिबद्ध करनी चाहिए?
- 16. स्प्राउटकोर क्या है और मुझे इसकी परवाह क्यों करनी चाहिए?
- 17. क्या मुझे पर्सफोर्स को अपरिवर्तित फाइलें जमा करनी चाहिए?
- 18. क्या मुझे ऑर्डर क्लास में शुल्क/छूट की सूची शामिल करनी चाहिए या उन्हें आइटमलाइन
- 19. मुझे किसी फ़ंक्शन में std :: स्ट्रिंग कैसे पास करनी चाहिए?
- 20. क्या मुझे सभी ईवेंट हैंडलर सदस्यता रद्द करनी चाहिए?
- 21. क्या मुझे रेल में ब्लॉग बनाना चाहिए या कुछ ऐसा पहले से मौजूद होना चाहिए?
- 22. log4net: गतिशील रूप से लॉगर बनाना, क्या मुझे किसी चीज़ के बारे में चिंता करनी चाहिए?
- 23. मुझे अपना GUID कैसे बनाना चाहिए?
- 24. क्या मुझे सी # या जावा सीखना चाहिए?
- 25. मुझे रेल 3 में एपीआई कुंजी कहां स्टोर करनी चाहिए?
- 26. क्या जेबीपीएम मुझे चाहिए?
- 27. मुझे डेटाबेस इंडेक्स कब बनाना चाहिए?
- 28. मुझे एंटिटी मैनेजर कितनी बार बनाना चाहिए?
- 29. मुझे PHP में इंटरफ़ेस क्यों बनाना चाहिए?
- 30. मुझे क्या करना चाहिए?
मुझे डेटा-समांतर प्रोग्रामिंग ठीक है, मैं बस सोच रहा था कि अगर डीएक्स 11 में जीपीजीपीयू क्षमताओं को शामिल करने के लिए यह भी होगा तो यह क्यूडीए में निवेश का समय होगा। – TraumaPony