मेरे सीयूडीए विकास के लिए, मैं 16 कोर के साथ एक मशीन और 16 जीएम के साथ 1 जीटीएक्स 580 जीपीयू का उपयोग कर रहा हूं। जो काम मैं कर रहा हूं, उसके लिए मैं 16 होस्ट थ्रेड्स (प्रत्येक कोर पर 1) लॉन्च करने की योजना बना रहा हूं, और 1 कर्नेल लॉन्च प्रति थ्रेड, प्रत्येक में 1 ब्लॉक और 1024 थ्रेड हैं। मेरा लक्ष्य 16 एसएम पर समानांतर में 16 कर्नेल चलाने के लिए है। क्या यह संभव/व्यवहार्य है?व्यक्तिगत CUDA कर्नेल लॉन्च करने वाले एकाधिक होस्ट थ्रेड
मैंने स्वतंत्र संदर्भों के बारे में जितना संभव हो सके पढ़ने की कोशिश की है, लेकिन बहुत अधिक जानकारी उपलब्ध नहीं है। जैसा कि मैं इसे समझता हूं, प्रत्येक मेजबान धागे का अपना जीपीयू संदर्भ हो सकता है। लेकिन, मुझे यकीन नहीं है कि अगर मैं स्वतंत्र संदर्भों का उपयोग करता हूं तो कर्नेल समानांतर में चलेंगे या नहीं।
मैं सभी 16 होस्ट धागे से सभी डेटा को एक विशाल संरचना में पढ़ सकता हूं और इसे एक कर्नेल लॉन्च करने के लिए GPU को पास कर सकता हूं। हालांकि, यह बहुत अधिक प्रतिलिपि होगी और यह एप्लिकेशन को धीमा कर देगा।
एकाधिक संदर्भ एक साथ जीपीयू का उपयोग नहीं कर सकते हैं, इसलिए नहीं, यह काम नहीं करेगा। – talonmies
धन्यवाद। क्या आप उपरोक्त को उत्तर के रूप में रख सकते हैं ताकि मैं इसे स्वीकार कर सकूं? – gmemon
@gmemon, CUDA 5.5 में कई संदर्भ बनाने और निष्पादित करने के लिए नीचे मेरी टिप्पणी देखें। क्या आपने 16SM में 16 कर्नेल सफलतापूर्वक निष्पादित किए थे? अंत में आपका समाधान क्या था। – Tariq