मैं उबंटू 10.04 पर GeForce 8400M जीएस का उपयोग कर रहा हूं और मैं सीयूडीए प्रोग्रामिंग सीख रहा हूं। मैं कुछ बुनियादी कार्यक्रम लिख रहा हूं और चला रहा हूं। मैं cudaMalloc का उपयोग कर रहा था, और यह मुझे एक त्रुटि दे रहा था जब तक कि मैं रूट के रूप में कोड भाग गया। हालांकि, मुझे केवल एक बार रूट के रूप में कोड चलाने के लिए था। उसके बाद, अगर मैं सामान्य उपयोगकर्ता के रूप में कोड चलाता हूं, तो मुझे malloc पर कोई त्रुटि नहीं मिलती है। क्या चल रहा है?कुडा के लिए रूट पहुंच आवश्यक है?
उत्तर
शायद यह आपके GPU के कारण बूट पर ठीक से प्रारंभ नहीं किया जा रहा है। उबंटू सर्वर और अन्य इंस्टॉलेशन का उपयोग करते समय मैं इस समस्या में आया हूं जहां एक एक्स सर्वर स्वचालित रूप से प्रारंभ नहीं हो रहा है। इसे ठीक करने के लिए निम्न का प्रयास करें:
अपने GPU को प्रारंभ करने के लिए एक स्क्रिप्ट के लिए निर्देशिका बनाएं। मैं आमतौर पर /root/bin
का उपयोग करता हूं। इस निर्देशिका में, cudainit.sh
नामक एक फ़ाइल को निम्न कोड के साथ बनाएं (यह स्क्रिप्ट एनवीडिया फ़ोरम से आई है)।
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
N3D=`/usr/bin/lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
NVGA=`/usr/bin/lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i;
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
अब हमें बूट पर स्वचालित रूप से यह स्क्रिप्ट चलाने की आवश्यकता है। निम्नलिखित की तरह देखने के लिए /etc/rc.local
संपादित करें।
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#
# Init CUDA for all users
#
/root/bin/cudainit.sh
exit 0
अपने कंप्यूटर को रीबूट करें और अपने CUDA प्रोग्राम को नियमित उपयोगकर्ता के रूप में चलाने का प्रयास करें। अगर मैं समस्या के बारे में सही हूं, तो इसे ठीक किया जाना चाहिए।
उबंटू 14.04 के साथ काम करने के लिए मैंने https://devtalk.nvidia.com/default/topic/699610/linux/334-21-driver-returns-999-on-cuinit-cuda-/ का पालन किया nvidia-uvm
etc/modules
जोड़ने के लिए, और कस्टम udev नियम में एक पंक्ति जोड़ने के लिए। इस लाइन के साथ /etc/udev/rules.d/70-nvidia-uvm.rules
बनाएँ:
KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/bin/mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0;'"
मुझे समझ नहीं आता क्यों sudo modprobe nvidia-uvm
बनाने के लिए काम करता है एक (sudo cuda_program
करता है) उचित /dev/nvidia-uvm
लेकिन /etc/modules
सूची udev नियम की आवश्यकता है।
- 1. कुडा कर्नेल
- 2. कुडा कर्नेल
- 3. रूट एडीबी रूट के बिना एप्लिकेशन डेटाबेस तक पहुंच
- 4. सभी होस्टों से MySQL रूट पहुंच
- 5. कुल रूट के माध्यम से इकाइयों तक पहुंच: सरल उदाहरण?
- 6. पुस्तकालय परियोजनाओं के लिए proguard.cfg आवश्यक है?
- 7. हैंडलर थ्रेड छोड़ने के लिए आवश्यक है?
- 8. शब्दकोश लुकअप के लिए आवश्यक लॉकिंग है?
- 9. xampp दस्तावेज़ रूट रूट
- 10. बैंक संघर्ष क्या है? (कुडा/ओपनसीएल प्रोग्रामिंग करना)
- 11. SaveAs विधि रूट रूट की आवश्यकता के लिए कॉन्फ़िगर किया गया है, और पथ '~ \\ छवियों \\ 594083964.jpg' रूट नहीं है
- 12. आवश्यक फ़ील्ड सत्यापित करने के लिए आवश्यक फ़ील्ड वैलिडेटरबॉक्स
- 13. Django में, मैं कैसे बदल सकता हूं "यह फ़ील्ड आवश्यक है।" "नाम आवश्यक है" के लिए?
- 14. "संदेश आवश्यक है" के लिए डिफ़ॉल्ट संदेश "सत्यापन त्रुटि: मान आवश्यक है"
- 15. नियंत्रण क्या है IHandleCreated के लिए आवश्यक है?
- 16. कुडा में परमाणु संचालन? कौन सी हेडर फ़ाइल शामिल करने के लिए?
- 17. "अनुवाद संपादक" के लिए अपनी अनुवाद नौकरियां देखने में सक्षम होने के लिए आवश्यक पहुंच अधिकार क्या हैं?
- 18. सहायक डिवाइस के लिए पहुंच सक्षम करें प्रोग्रामेटिक
- 19. केवल ट्विटर बूटस्ट्रैप के पॉपओवर के लिए क्या आवश्यक है?
- 20. PHP के mcrypt_decrypt() के लिए क्या आवश्यक है?
- 21. लेआउट के तत्वों के लिए गतिशील पहुंच
- 22. उसी रूट रूट
- 23. एक उप निर्देशिका में केकपीएचपी को रूट करने के लिए रूट
- 24. यदि कोई उप-डोमेन वेबसाइट रूट रूट
- 25. बूल के लिए एमवीसी रूट बाधा
- 26. रूट पथ के लिए मार्ग बनाएं, '/', सर्विसस्टैक
- 27. रूट के लिए bash_history को कैसे देखें?
- 28. मैक के लिए चेरीपी में रूट डिस्पैचर टूटा हुआ है?
- 29. आपको HTML.Action के लिए परिभाषित रूट की आवश्यकता क्यों है?
- 30. गिट रूट रूट
क्या आपने कोड को रूट के रूप में भी संकलित किया था? कंपाइलर आपकी बाइनरी को ओवरराइट करने में सक्षम होने से पहले आपको अपनी फ़ाइल अनुमतियों को अपडेट करने की आवश्यकता हो सकती है। –