मैं GPGPU प्रोग्रामिंग के लिए बहुत नया हूं, इसलिए कृपया मुझे क्षमा करें यदि प्रश्न विशेष रूप से उपयुक्त नहीं है। सामान्य सीपीयू प्रोग्रामिंग की तुलना में जब मुझे समझ में आता है कि GPU प्रोग्रामिंग, इंजीनियरिंग कार्य का एक बहुत जटिल टुकड़ा है। विचलन मुद्दों, टाइलिंग, पिन किए गए मेमोरी आवंटन, और होस्ट-डिवाइस संचार / डिवाइस गणना ओवरलैपिंग के बारे में बहुत सावधान रहना होगा।
थोड़ी खोजबीन करने के बाद मुझे थ्रू लाइब्रेरी मिली, जो लगता है कि C ++ STL की नकल करने की कोशिश है। यह काफी अच्छा है। हालांकि, मेरे बहुत ही सीमित अनुभव के आधार पर और अच्छा प्रदर्शन पाने के लिए आवश्यक सभी सूक्ष्म प्रबंधन को देखकर, मुझे प्रदर्शन के बारे में थोड़ा संदेह है। जोर से कुशलता से सभी जटिल प्रोग्रामिंग भाग को आंतरिक रूप से संभाल सकते हैं? कुछ बहुत प्रसिद्ध पुस्तकालय, जैसे पेट्सक, इस पैकेज का उपयोग करते हैं जो मुझे विश्वास दिलाता है कि यह किसी भी तरह से होना चाहिए।
मैं सोच रहा था कि CUDA और थ्रस्ट पर अधिक अनुभव वाले लोग निम्न स्तर के CUDA प्रोग्रामिंग की तुलना में पैकेज के प्रदर्शन के बारे में एक या दो शब्द कह सकते हैं। मैं थ्रस्ट का उपयोग कब कर सकता हूं और कब CUDA पर वापस जाना चाहिए?