2008-10-22 15 views
5

विंडोज 7 के साथ शायद अगले अक्टूबर (और इसके साथ डायरेक्टएक्स 11) आरटीएम के साथ जा रहा है, क्या यह डायरेक्टएक्स 11 की स्पष्ट जीपीजीपीयू सुविधाओं के लिए इंतजार कर रहा है, जिसका अर्थ है कि यह क्रॉस-प्लेटफार्म होगा (एटीआई/एनवीडिया, विंडोज/लिनक्स/मैक/जो कुछ); या अब मुझे एक सीयूडीए आवेदन बनाना चाहिए?क्या मुझे अब सीयूडीए ऐप्स बनाना चाहिए, या डायरेक्टएक्स 11 की प्रतीक्षा करनी चाहिए?

उत्तर

2

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

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

माइक्रोसॉफ्ट पीडीसी सम्मेलन इस महीने के अंत में आयोजित किया जाता है, शायद वे आपके दिमाग को बनाने में मदद के लिए डीएक्स 11 पर कुछ उपयोगी जानकारी की घोषणा करेंगे।

मेरी सामान्य सलाह यह होगी कि मुझे लगता है कि अब सीखने के लिए बहुत कुछ है जिसे आप बाद में उपयोग कर सकेंगे (डीएक्स 11 या ओपनसीएल के साथ) लेकिन आपको खुद से पूछना होगा कि क्या आप कुछ तकनीक सीखना चाहते हैं जो शायद इसे लंबे समय तक नहीं बनाओ। वैसे भी, ये सिर्फ मेरे विचार हैं, मेरे पास अभी तक CUDA के साथ बहुत अधिक अनुभव नहीं है।

एक अत्यधिक सट्टा नोट पर, मेरी आंत महसूस यह है कि सीयूडीए जैसे एपीआई लंबे समय तक जीवित नहीं रहेंगे और डायरेक्टएक्स और/या ओपनसीएल एकमात्र ऐसे समाधान हैं जिनके पास भविष्य है (जब तक कि वे वास्तव में उनके कार्यान्वयन को रोक नहीं देते, जो मैं शक)।

3

मेरे अनुभव से, सामान्य प्रयोजन प्रोसेसर प्रोग्रामिंग से जीपीजीपीयू प्रोग्रामिंग में प्रमुख कूद वैचारिक छलांग हैं। यहां कुंजी डेटा समांतर कोड है।

एक सीपीयू पर एक बहु थ्रेडेड वातावरण में भी, प्रत्येक थ्रेड कम स्तर पर अपनी चीज कर रहा है, और धागे के बीच सिंक्रनाइज़ेशन अपेक्षाकृत दुर्लभ घटना है। एक जीपीजीपीयू की शक्ति का उपयोग करने के लिए, आपको हजारों धागे चलाने की ज़रूरत है जो तर्कसंगत रूप से एक ही निर्देश चला रहे हैं, अलग-अलग डेटा पर, लगभग पूरी तरह सिंक में।

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

+0

मुझे डेटा-समांतर प्रोग्रामिंग ठीक है, मैं बस सोच रहा था कि अगर डीएक्स 11 में जीपीजीपीयू क्षमताओं को शामिल करने के लिए यह भी होगा तो यह क्यूडीए में निवेश का समय होगा। – TraumaPony

1

यदि आप सीखने का अनुभव चाहते हैं, तो इसके लिए जाओ! http://ati.amd.com/technology/streamcomputing/sdkdwnld.html

NVIDIA के Cuda और अति के सीएएल सुविधाओं में बराबर हैं:

एक अन्य विकल्प AMD/ATI के धारा एसडीके जो आप यहां से डाउनलोड कर सकते हैं। कूडा केवल एनवीडिया जीपस पर काम करता है और सीएएल केवल एटीआई जीपीएस पर काम करता है।

आखिरकार, अच्छे क्रॉस-प्लेटफार्म विकास उपकरण होंगे, लेकिन यह अभी एक बड़ा शून्य है। डायरेक्टएक्स 11 कंप्यूट शेडर्स और ओपनसीएल इसे पसंद के उपकरण के रूप में लड़ेंगे, लेकिन अभी तक कोई भी उपलब्ध नहीं है।

यदि आप कुछ "असली" ऐप बनाना चाहते हैं, न केवल एक फेंकने वाला सीखने का अनुभव, और आप इसे क्रॉस-प्लेटफ़ॉर्म पर काम करना चाहते हैं, तो कुछ विकल्प हैं: उदाहरण के लिए ब्रुक। इसके अलावा, लोग स्पष्ट जीपीजीपीयू सुविधाओं की प्रतीक्षा किए बिना कई वर्षों तक डायरेक्टएक्स और ओपनजीएल (ओपनसीएल नहीं) दोनों के साथ जीजीपीपीयू काम कर रहे हैं। Gpgpu पर जाएं।पॉइंटर्स

1

दोनों डायरेक्टएक्स 11 कंप्यूट शेडर्स और ओपनसीएल मुख्य रूप से सीयूडीए पर आधारित हैं, इसलिए अब सीयूडीए के साथ काम करना शुरू करना निश्चित है। असल में, वे सभी एक ही मेमोरी मॉडल का उपयोग करते हैं, और एक समान वाक्यविन्यास है, जो ब्रुक + (जिसे आप स्ट्रीम एसडीके के साथ उपयोग करेंगे) की तुलना में CUDA के करीब है।

हालांकि, अगर आप डीएक्स 11 चाहते हैं, तो प्रतीक्षा करने की कोई आवश्यकता नहीं है, बस माइक्रोसॉफ्ट से November 2008 SDK को पकड़ें जो एक DX11 पूर्वावलोकन के साथ आता है, जिसे आप पहले से ही सरल गणना शदर अनुप्रयोगों (लिखने के लिए) उपयोग कर सकते हैं।

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