हाल ही में मैं बहुत जोर दे रहा हूं। मैंने देखा है कि जोर देने के लिए, किसी को हमेशा सीपीयू मेमोरी से जीपीयू मेमोरी में डेटा कॉपी करना होगा।
के निम्न उदाहरण देखते हैं:क्या सीपीयू मेमोरी से जीपीयू तक प्रतिलिपि बनाने का एक बेहतर और तेज़ तरीका है?
int foo(int *foo)
{
host_vector<int> m(foo, foo+ 100000);
device_vector<int> s = m;
}
मैं काफी यकीन है कि कैसे host_vector
निर्माता काम करता है नहीं कर रहा हूँ, लेकिन यह है कि मैं प्रारंभिक डेटा की प्रतिलिपि रहा हूँ, *foo
से आ रही, दो बार लगता है - host_vector जब एक बार इसे प्रारंभ किया गया है, और एक और समय जब device_vector
प्रारंभ किया गया है। मध्यवर्ती डेटा प्रतियों के बिना सीपीयू से जीपीयू में कॉपी करने का कोई बेहतर तरीका है? मुझे पता है कि मैं एक रैपर के रूप में device_ptr
का उपयोग कर सकता हूं, लेकिन यह अभी भी मेरी समस्या को ठीक नहीं करता है।
धन्यवाद!
तर्क आकार_टी एन वेक्टर में तत्वों की संख्या निर्दिष्ट करता है, और size_t प्रकार के नाम में नहीं होना चाहिए, size_t आमतौर पर बाइट्स में डेटा लंबाई निर्दिष्ट करता है। – TripleS