में शुरू किया जा सकता है, मैं फर्मि जीपीयू में लॉन्च किए जा सकने वाले थ्रेड की अधिकतम संख्या के बारे में उलझन में हूं।थ्रेड की अधिकतम संख्या जिसे एक एकल CUDA कर्नेल
मेरा जीटीएक्स 570 डिवाइस क्वेरी निम्नलिखित बताती है।
एक CUDA कर्नेल हम सबसे 65536 ब्लॉक पर शुरू कर सकते हैं के लिए:
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 65535
मेरी समझ से, मैं के रूप में उपरोक्त कथन को समझते हैं। प्रत्येक लॉन्च ब्लॉक में 1024 थ्रेड हो सकते हैं। इसलिए सिद्धांत रूप में, मैं 65536 * 1024 (= 67108864) थ्रेड तक लॉन्च कर सकता हूं।
क्या यह सही है? क्या होगा यदि मेरा धागा बहुत सारे रजिस्टरों का उपयोग करता है? क्या हम अभी भी इस सैद्धांतिक अधिकतम संख्या में धागे तक पहुंचने में सक्षम होंगे?
सीयूडीए कर्नेल लिखने और लॉन्च करने के बाद, मुझे कैसे पता चलेगा कि मैंने लॉन्च किए गए धागे और ब्लॉक की संख्या वास्तव में को तत्काल कर दिया गया है। मेरा मतलब है कि मैं नहीं चाहता कि जीपीयू कुछ जंक की गणना करे, या अजीब तरीके से व्यवहार करे, अगर मेरे पास उस विशेष कर्नेल के लिए संभवतः अधिक धागे को तुरंत मौका दिया गया है।
यह आपकी मदद कर सकता है: http://stackoverflow.com/questions/2392250/understanding-cuda-grid-dimensions-block-dimensions-and-threads- संगठनात्मक- – user1154664