किसी दिए गए कर्नेल के लिए, हमेशा एक ही आकार के work_groups क्यों हैं? मैंने कहीं पढ़ा है (जैसा भी मामला है जिसमें हम स्थानीय काम आकार निर्दिष्ट नहीं करते के लिए) है कि OpenCL 651 काम के आइटम (3 से विभाज्य), जबकि यह 653 बनाता है के साथ कर्नेल के लिए (217 प्रत्येक कार्य-मदों की) 3 काम समूह बनाता है 1 कार्य-वस्तु प्रत्येक के कार्य-समूह, 653 के रूप में एक प्रमुख संख्या है।कार्य समूह आकार
मान लीजिए हम local_work_size निर्दिष्ट (अर्थात। सं। एक काम के समूह में काम मदों की), मान लें कि, 5 करते हैं। और हमने कुल कार्य-वस्तुएं (global_work_size) 9 के रूप में दी हैं। कार्य समूह कैसे बनाए जाएंगे? यही कारण है कि global_work_size को local_work_size का एक बहु होना चाहिए? यदि डेटा को केवल 9 कार्य-वस्तुओं की आवश्यकता होती है, तो मैं इसे 10 तक बढ़ा सकता हूं (local_work_size, 5 के एकाधिक)?
परिणाम सरणी के लिए स्मृति को आबंटित क्यों की मेजबानी नहीं कर सकते हैं अगर यह पता नहीं है कि कितने कार्य समूहों गिरी निष्पादित करेंगे?
कृपया मदद करें। मैंने इसे सब कुछ पढ़ा: http://www.openclblog.com/2011/09/work-group-sizes.html
धन्यवाद टिम !! उत्तर देने के लिए धन्यवाद। :) तो, जीडब्ल्यूजी आकार एलडब्ल्यूजी आकार का एक बहु होना नहीं है ?? – Remy
हाँ को स्पष्ट करने के लिए एलडब्लूजी आकार एक मल्टीप्लिओबल या शून्य होना चाहिए। मैन पेजों से http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/ –
आपको बहुत बहुत धन्यवाद। :) – Remy