2012-09-09 16 views
6

बनावट मेमोरी आकार जानने के लिए deviceQuery नमूना द्वारा बनावट मेमोरी सूचना आउटपुट की व्याख्या कैसे करें? यहां मेरी बनावट मेमोरी का आउटपुट है।मेरी सीयूडीए बनावट मेमोरी का आकार क्या है?

अधिकतम बनावट आयाम का आकार (एक्स, वाई, जेड) -1 डी = (65536), 2 डी = (65536,65535), 3 डी = (2048,2048,2048)
मैक्स स्तरित बनावट का आकार (मंद) x परतों -1 डी = (16384) x 2048, 2 डी = (16384,16384) x 2048

उत्तर

3

उत्पादन से पता चलता अधिकतम बनावट के आयामों हैं:

-1 डी बनावट के लिए 65536 2 डी बनावट के लिए 65536 * 65535 3 डी बनावट के लिए 2048 * 2048 * 2048

यदि आप बाइट्स में आकार चाहते हैं, तो अधिकतम चैनलों (4) और अधिकतम उप-पिक्सेल आकार (4 बी) से गुणा करें।

(स्तरित बनावट के लिए, प्रासंगिक नंबर आप अधिकतम परतों आप मिल की संख्या से आयामों के लिए मिल गया गुणा कर दें।)

बहरहाल, यह किसी एकल संरचना के लिए अधिकतम आकार, नहीं सभी के लिए उपलब्ध स्मृति है बनावट।

+0

लेकिन मान लीजिए कि मेरे पास डेटा का हिस्सा है तो मुझे कैसे पता होना चाहिए कि क्या बनावट मेमोरी में समायोजित किया जा सकता है या नहीं? –

+0

इसके लिए आपको मुफ्त मेमोरी (cuMemGetInfo) से पूछताछ करने की आवश्यकता है, अधिकतम समर्थित नहीं है। –

8

यह एक आम गलतफहमी है, लेकिन CUDA GPUs में "बनावट स्मृति" जैसी कोई चीज़ नहीं है। केवल बनावट हैं, जो समर्पित हार्डवेयर के माध्यम से उपयोग किए जाने वाले वैश्विक स्मृति आवंटन हैं जिनमें अंतर्निहित कैश, फ़िल्टरिंग और सीमाओं को संबोधित करना है जो आपके द्वारा प्रलेखन और डिवाइस क्वेरी में रिपोर्ट की गई आकार सीमा तक पहुंचते हैं। तो सीमा या तो लगभग वैश्विक स्मृति की मुफ्त मात्रा (सीयूडीए सरणी में पैडिंग और संरेखण की अनुमति देने) या आपके द्वारा पहले से उद्धृत आयामी सीमाओं की सीमा है।

+0

मेरे पास cudaMalloc के माध्यम से आवंटित एक बड़ी सरणी है। इस सरणी को कई बार संदर्भित करने की आवश्यकता है। मैं यहाँ बनावट स्मृति की सुविधा का उपयोग करना चाहता था। क्या यह संभव है? –

+3

@ username_4567: आप 'cudaMalloc' के साथ आवंटित रैखिक स्मृति को एक आयामी बनावट में बांध सकते हैं। यदि आप उच्च आयामी बनावट चाहते हैं तो आपको पेंट रैखिक मेमोरी या कूडा सरणी का उपयोग करने की आवश्यकता है। – talonmies

+1

@talonmies पिक्चर रैखिक मेमोरी द्वारा क्या आप cudaMalocPitch() द्वारा आवंटित स्मृति का मतलब है? – sgarizvi

संबंधित मुद्दे