की तुलना में स्थान पर दो बार स्थान पर कब्जा कर लिया गया है, मैंने अभी देखा है कि मेरा CUDA कर्नेल 'सिद्धांत' द्वारा गणना की गई जगह से बिल्कुल दोगुनी जगह का उपयोग करता है। जैसेCUDA साझा स्मृति
__global__ void foo()
{
__shared__ double t;
t = 1;
}
PTX जानकारी दिखाता है:
ptxas जानकारी: _Z3foov के लिए समारोह गुण, 0 बाइट्स फ्रेम, 0 बाइट्स फैल स्टोर, 0 बाइट्स फैल भार ढेर
ptxas जानकारी: 4 रजिस्टर, 16 बाइट्स smem, 32 बाइट्स प्रयुक्त
__global__ void foo()
{
__shared__ int t[1024];
t[0] = 1;
}
: cmem [0]
लेकिन एक डबल के आकार केवल 8.
अधिक उदाहरण है
ptxas जानकारी: प्रयुक्त 3 रजिस्ट्रार, 8192 बाइट्स स्मेम, 32 बाइट्स सेमीम [0]
क्या कोई समझा सकता है क्यों?
@ Fr34K: संकलन और असेंबलर द्वारा बनाए गए * स्थिर असाइनमेंट * के आकार के साथ समय सेटिंग को कैसे चलाया जा सकता है? – talonmies
और स्पष्टीकरण की आवश्यकता है। आपने कितने ब्लॉक शुरू किए हैं ?? – Fr34K
@talonmies: स्पष्टीकरण के लिए धन्यवाद। मैं उस बिंदु से चूक गया। :) – Fr34K