डेबियन 8 (जेसी) या 9 (स्ट्रेच) पर क्यूडा टूलकिट 7/8/9 कैसे स्थापित करें?


26

डेबियन 8 पर क्यूडा टूलकिट 7.0 या 8 कैसे स्थापित करें ?

मुझे पता है कि डेबियन 8 करने के लिए विकल्प के साथ आता है डाउनलोड करने और CUDA टूलकिट 6.0 स्थापित उपयोग कर रहा apt-get install nvidia-cuda-toolkitहै, लेकिन आप कैसे CUDA टूलकिट संस्करण 7.0 या 8 के लिए ऐसा करते हैं?

मैंने नीचे बताए अनुसार, उबंटू इंस्टालर का उपयोग करके स्थापित करने की कोशिश की:

sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb

dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb

sudo apt-get update

sudo apt-get install -y cuda

हालाँकि यह काम नहीं किया और निम्न संदेश वापस आ गया:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda : Depends: cuda-7-0 (= 7.0-28) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

@nullgeppetto: कृपया नीचे दिए गए मेरे उत्तर में निर्देशों का पालन करने की कोशिश करें :-)
einpoklum - मोनिका

जवाबों:


30

निम्नलिखित निर्देश CUDA 7.0, 7.5 और कई पिछले (और शायद बाद में) संस्करणों के लिए मान्य हैं। जहाँ तक डेबियन के वितरण की बात है, वे जेसी और स्ट्रेच और शायद अन्य संस्करणों के लिए मान्य हैं। वे एक amd64 (x86_64) वास्तुकला को मानते हैं, लेकिन आप x86 (x86_32) के लिए उन्हें आसानी से अनुकूलित कर सकते हैं।

स्थापना आवश्यक शर्तें

  • g ++ - आपको CUDA के अपने संस्करण द्वारा समर्थित नवीनतम GCC संस्करण का उपयोग करना चाहिए। CUDA 7.x के लिए यह 4.x लाइन के अंतिम संस्करण 4.9.3 होगा; CUDA 8.0 के लिए, GCC 5.x संस्करण समर्थित हैं। यदि आपका वितरण डिफ़ॉल्ट रूप से GCC 5.x का उपयोग करता है, तो उसका उपयोग करें, अन्यथा GCC 5.4.0 करना चाहिए। पहले के संस्करण प्रयोग करने योग्य हैं, लेकिन मैं उन्हें अनुशंसित नहीं करूंगा, यदि केवल बेहतर आधुनिक-सी ++ होस्ट-साइड कोड के लिए समर्थन का समर्थन करता है।
  • gcc - g ++ के साथ आता है। मुझे भी लगता है कि सीएमके एक -xस्विच के साथ कुछ मामलों में जी ++ के बजाय एनवीसीसी इनवोक जीसीसी होने के लिए डिफ़ॉल्ट हो सकता है (लेकिन इसके बारे में निश्चित नहीं)।
  • libGLU - Mesa OpenGL लाइब्रेरी (+ डेवलपमेंट फाइल्स?)
  • libXi - एक्स विंडो सिस्टम झिनपुट एक्सटेंशन लाइब्रेरी (+ विकास फाइलें?)
  • libXmu - X विंडो सिस्टम "विविध उपयोगिताओं" पुस्तकालय (+ विकास फ़ाइलें?)
  • लिनक्स कर्नेल - आपके द्वारा चलाए जा रहे कर्नेल संस्करण के लिए हेडर।

यदि आप विशिष्ट पैकेजों की सूची चाहते हैं, तो यह वास्तव में किस वितरण पर निर्भर करता है, लेकिन निम्नलिखित प्रयास करें (CUDA 7.x के लिए):

sudo apt-get install gcc g++ gcc-4.9 g++-4.9 libxi libxi6 libxi-dev libglu1-mesa libglu1-mesa-dev libxmu6 libxmu6-dev linux-headers-amd64 linux-source

और आप -dbgउन पैकेजों के कुछ संस्करणों को डिबगिंग प्रतीकों के लिए जोड़ सकते हैं ।

मुझे पूरा यकीन है कि यह सब कवर करता है - लेकिन मुझे कुछ याद आ गया होगा जिसे मैंने पहले ही स्थापित कर दिया था। इसके अलावा, CUDA क्लैंग के साथ काम कर सकते हैं , कम से कम प्रयोगात्मक रूप से, लेकिन मैंने ऐसा नहीं किया है।

CUDA कर्नेल ड्राइवर स्थापित करना

  1. NVIDIA के CUDA डाउनलोड पेज पर जाएं
  2. लिनक्स> x86_64> Ubuntu चुनें , और फिर उनके पास जो भी नवीनतम संस्करण है (लेखन के समय: Ubuntu 15.04)।
  3. .Run फ़ाइल विकल्प चुनें ।
  4. .Run फ़ाइल (वर्तमान में यह एक ) डाउनलोड करें । सुनिश्चित करें कि इसे अंदर डालें /tmp
  5. .Run फ़ाइल को निष्पादन योग्य बनाएँ chmod a+x cuda_7.5.18_linux.run:।
  6. जड़ हो गए।
  7. .Run फ़ाइल निष्पादित करें: उनके मूर्खतापूर्ण हटना-लपेटें लाइसेंस को स्वीकार करने का अधिकार दें; बस "NVIDIA कर्नेल ड्राइवर" को स्थापित करने के लिए "हां" कहें, और बाकी सब चीजों के लिए "नहीं" कहें।

स्थापना आपको बताएगी कि यह NVIDIA कर्नेल चालक को स्थापित करने की अपेक्षा करता है, लेकिन टूलकिट स्थापना को जारी रखने / पुनः प्रयास करने से पहले आपको रिबूट करना चाहिए। इसलिए...

  1. स्पष्ट रूप से सफल होने के बाद, रिबूट।

स्वयं CUDA को स्थापित करना

  1. जड़ हो।
  2. पता लगाएँ और निष्पादित करें cuda_7.5.18_linux.run
  3. इस बार के आसपास, ड्राइवर को स्थापित करने के लिए नहीं, बल्कि सभी कुछ स्थापित करने के लिए हां कहें, और डिफ़ॉल्ट पथ स्वीकार करें (या उन्हें बदल दें, जो भी आपके लिए काम करता है)।

इंस्टॉलर अब विफल होने की संभावना है । यह एक अच्छी बात है कि यह उस तरह की विफलता है जिसकी हम अपेक्षा करते हैं: यह आपको बताना चाहिए कि आपका संकलक संस्करण समर्थित नहीं है - CUDA 7.0 या 7.5 4.9 gcc तक का समर्थन करता है और आपके पास डिफ़ॉल्ट रूप से कुछ 5.x संस्करण है। अब, यदि आपको लापता पुस्तकालयों के बारे में एक संदेश मिलता है, तो इसका मतलब है कि किसी और चीज के बारे में ऊपर दिए गए मेरे निर्देश किसी भी तरह से विफल हो गए हैं, और आपको यहां टिप्पणी करनी चाहिए ताकि मैं उन्हें ठीक कर सकूं। मान लें कि आपको "अच्छी विफलता" मिली, तो आगे बढ़ें:

  1. .Run फ़ाइल को फिर से लागू करें, इस बार --override विकल्प के साथ।
  2. चरण 11 में के रूप में एक ही विकल्प बनाओ।

CUDA को अब डिफ़ॉल्ट रूप से /usr/local/cuda(एक सिमलिंक के तहत ) स्थापित किया जाना चाहिए । लेकिन हम नहीं कर रहे हैं!

सही g ++ संस्करण का उपयोग करने के लिए NVIDIA के nvcc संकलक को निर्देशित करना

NVIDIA के CUDA संकलक वास्तव में g ++ को लिंकिंग प्रक्रिया के भाग के रूप में और / या .cu फ़ाइलों के बजाय वास्तविक C ++ को संकलित करने के लिए कहते हैं। मुझे लगता है। वैसे भी, यह आपके रास्ते में जो कुछ भी है उसे चलाने में चूक करता है g++; लेकिन अगर आप जगह एक औरg++ के तहत /usr/local/cuda/bin, यह पहली है कि प्रयोग करेंगे! इसलिए...

  1. निष्पादित करें symlink /usr/bin/g++-4.9 /usr/local/cuda/bin/g++(और अच्छे उपाय के लिए, शायद यह भी symlink /usr/bin/gcc-4.9 /usr/local/cuda/bin/gcc

बस।

स्थापना की कोशिश कर रहा है

  1. cd /root/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd
  2. make

बिल्ड का सफलतापूर्वक समापन होना चाहिए, और जब आप करते हैं

  1. ./vectorAdd

आपको निम्न आउटपुट प्राप्त करने चाहिए:

root@mymachine:~/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd# ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

टिप्पणियाँ

  • आपको NVIDIA GDK (GPU विकास किट) को स्थापित करने की आवश्यकता नहीं है, लेकिन यह चोट नहीं करता है और यह कुछ के लिए उपयोगी हो सकता है। इसे अपने सिस्टम के रूट डायरेक्टरी में स्थापित करें; यह बहुत सुरक्षित है और इसके बाद एक अनइंस्टालर है /usr/bin/uninstall_gdk.pl:। CUDA 8 में यह पहले से ही CUDA IIANM में एकीकृत है।
  • एनवीडिया -... या कोडा जैसे नामों के साथ अतिरिक्त पैकेज स्थापित न करें ...; वे चोट नहीं कर सकते हैं, लेकिन वे निश्चित रूप से मदद नहीं करेंगे।
  • इनमें से कोई भी कार्य करने से पहले, आप यह सुनिश्चित कर सकते हैं कि आपके GPU का उपयोग करते हुए, सभी को पहचान लिया जाए lspci | grep -i nvidia

... ठीक है, लगभग यह सब: यदि आप रूट नहीं हैं, तो आप कर्नेल ड्राइवर को स्थापित नहीं कर सकते। लेकिन आप इसके बिना CUDA कोड बना सकते हैं (नहीं चला सकते)।
ईनपोक्लुम -

बस यही कोशिश की। कोडा इंस्टॉलर बस स्थापित करने से इनकार करता है। यह एक चेतावनी के साथ निकलता है कि आपको .deb फ़ाइल का उपयोग करना चाहिए।

@WernerVanBelle: क्या आप इसे एक अलग प्रश्न के रूप में पोस्ट कर सकते हैं? या कम से कम चेतावनी को उद्धृत करें यदि यह बहुत छोटा है? इसके अलावा, IIRC में कुछ "बल" कमांड-लाइन विकल्प है, क्या आपने ऐसा करने की कोशिश की है?
ईनपोकलम - मोनिका

यह सब - ड्राइवर स्थापना को छोड़कर - आपके घर निर्देशिका में एक गैर-रूट उपयोगकर्ता के रूप में भी किया जा सकता है, लेकिन यह केवल CUDA कोड बनाने के लिए पर्याप्त होगा , इसे चलाने के लिए नहीं । आपको उसके लिए अपने कर्नेल में एक उपयुक्त nVedia ड्राइवर की आवश्यकता है, और केवल एक रूट उपयोगकर्ता ही ऐसा कर सकता है। मेरी पूर्व टिप्पणी के लिए क्षमा करें, जिसने अन्यथा सुझाव दिया। इसके अलावा, एक गैर-रूट उपयोगकर्ता के रूप में निर्माण करने के लिए, आपको gcc / g ++ का अपना संस्करण बनाने की आवश्यकता हो सकती है यदि आपके वितरण में केवल एक नया संस्करण है (CUDA 7.x के लिए आपको 4.9.3 की आवश्यकता होगी)।
ईनपोकलम - मोनिका

@celavek: यदि आपको लगता है कि यह उत्तर डेबियन 9 को अच्छी तरह से कवर नहीं करता है, तो कृपया समझाएं कि इससे पहले कि आप एक सुझाव संपादित करें।
ईनपोकलम - मोनिका

6

मुझे लगता है कि आपको बैकस्पोर्ट्स का उपयोग करना चाहिए, मैं वास्तव में nvidia-cuda-toolkitडेबियन जेसी पर 7.5 स्थापित कर रहा हूं ।

गैर-मुक्त, अपने में बैकपोर्ट जोड़ें /etc/apt/sources.list। मेरे लिए (jessie पर) मैंने इसे अपनी फ़ाइल के निचले भाग पर रखा:

# jessie-backports
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free

सहेजा गया, उपयुक्त-अद्यतन प्राप्त करें, और अंत में:

apt-get install -t jessie-backports nvidia-cuda-toolkit

1

सूत्रों के अनुसार contrib और नॉन-फ्री रिपोज जोड़ने के बाद। apt-get update चल रहा है, CUDA टूलकिट एनविडिया-क्यूडा-टूलकिट के तहत Synaptic में है।


1

डेबियन 9 के साथ एक पुराने GPU (GT 720) के साथ "स्ट्रेच" अतिरिक्त चरणों की आवश्यकता है। मैं ऊपर किसी को देखता हूं (@celavek) के पास यह था, इसलिए मैं उसके लिए काम करूंगा। स्वीकृत उत्तर में लगभग सभी आवश्यक चीजें शामिल हैं। इसे पहचानना एक बहुत अच्छा उदाहरण है, लेकिन उम्मीद है कि इसमें कुछ उपयोगी चीजें हो सकती हैं जो लोगों को कुछ Google खोजों को बचाएगा।

चरण 1 में CUDA 8.0 के लिए "विरासत विज्ञप्ति" पर क्लिक करें और "CUDA टूलकिट 8.0 GA 2" का चयन करें। फिर लिनक्स, x86_64, उबंटू, 16.04, रनफाइल (स्थानीय)।

मैंने पैक किए गए ड्राइवर को स्वीकार नहीं किया और इसके बजाय अपने GPU के लिए अपने पहले से स्थापित 384.130 ड्राइवरों का उपयोग किया। उस पर अधिक जानकारी यहाँ: डेबियन विकी । आपका माइलेज अलग-अलग हो सकता है, मैं GT 720 के अलावा अन्य कार्ड के लिए बात नहीं कर सकता। यही वह रास्ता था जिसे मैंने चुना था, मुझे कोई पछतावा (अभी तक) नहीं है।

जब चरण 12 में स्थानीय InstallUtils.pm की अक्षमता के कारण स्थापना विफल हो जाती है तो आपको cuda_8.0.61_375.26_linux.run फ़ाइल को अनपैक करने की आवश्यकता होगी, लेकिन इसे --tar mxvit ध्वज के साथ चलाना। तब (रूट के रूप में) InstallUtils.pm को / usr / lib / x86_64-linux-gnu / pearl-base पर कॉपी करें:

./cuda_8.0.61_375.26_linux.run --tar mxvf
sudo cp InstallUtils.pm /usr/lib/x86_64-linux-gnu/perl-base

अब चरण 12 कमांड सफल होना चाहिए।

आपका डेबियन 9.0 जी ++ संस्करण 6+ के साथ आता है, यह नहीं करेगा। 15 चरण में वेक्टरएड का संकलन विफल हो जाएगा। मैंने इस श्वेतपत्र का पालन किया: संस्करण 5.5.0 को स्थापित करने के लिए जीसीसी के कई संस्करणों को स्थापित करना। 5.5.0 के लिए आप यह फ़ाइल चाहते हैं

wget http://mirrors.concertpass.com/gcc/releases/gcc-5.5.0/gcc-5.5.0.tar.xz

और इसके साथ टारबॉल को अनपैक करें:

tar -xJf gcc-5.5.0.tar.xz

मुझे इसके लिए काम करने के लिए कुछ चीजों (पुस्तकालयों और 32-बिट संकलन) को अद्यतन करने की आवश्यकता थी:

sudo apt-get install libgmp3-dev libmpfr-dev libmpc-dev
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install build-essential gcc-multilib rpm libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

अब आप संकलक को कॉन्फ़िगर, बना और स्थापित कर सकते हैं।

याद रखें कि --prefix = / usr / स्थानीय / gcc / 5.5.0 ध्वज के साथ कॉन्फ़िगर करना

अब आप इस के साथ चरण 15 में वेक्टरआवेदन उदाहरण संकलित कर सकते हैं:

make HOST_COMPILER=/usr/local/gcc/5.5.0/bin/g++

या यह:

export HOST_COMPILER=/usr/local/gcc/5.5.0/bin/g++
make

Makefile को संशोधित करने की कोई आवश्यकता नहीं है, यह कंपाइलर ओवरराइड को सही तरीके से संभालता है।

अब आपके पास खिंचाव पर काम करने वाला CUDA 8.0 इंस्टालेशन होना चाहिए।


0

इस पृष्ठ से उबंटू के लिए नेटवर्क इंस्टॉलर का उपयोग करने का प्रयास करें:

https://developer.nvidia.com/cuda-downloads#linux

उबंटू 14. * के लिए इंस्टॉलर पर्याप्त संगत होना चाहिए।


1
मुझे यह उल्लेख करना चाहिए कि ubuntu इंस्टॉलर ने काम नहीं किया - इसे प्रतिबिंबित करने के लिए पोस्ट को अपडेट किया।
ग्रेग

@Greg, क्या आपको पता चला है कि आखिरकार देबियन पर क्यूडा कैसे स्थापित किया जाए?
nullgeppetto

@nullgeppetto मैंने डेबियन के विचार को छोड़ दिया क्योंकि मुझे बहुत अधिक अनुकूलता के मुद्दे मिले जिन्हें मैं दूर नहीं कर पाया।
ग्रेग

@Greg, हममम, कि मैं क्या डर गया था .. तो, क्या आप * ubuntu या कुछ और के लिए गए थे? व्यक्तिगत रूप से, मैं अभी भी अपने gtx 960 की प्रतीक्षा कर रहा हूं, इसलिए मैं इसे डेबियन पर कोशिश करूंगा ... यदि आप चाहें तो मैं आपको बता दूंगा।
nullgeppetto

0

डेबियन 9 स्ट्रेच पर स्थापन और पैठ और LD_LIBRARY_PATH को सत्यापित करना

ऊपर Einpoklum का जवाब मुझे डेबियन 9 स्ट्रेच पर CUDA 10.0 स्थापित करने में मदद करता है।

CUDA को सफलतापूर्वक स्थापित करने के बाद मैं संस्करण को सत्यापित नहीं कर सका , और इसके कारण समस्या निवारण किया गया क्योंकि मुझे .bashrc फ़ाइल को संपादित करके PATH & LD_LIBRARY_PATH को स्थायी रूप से बदलने की आवश्यकता थी।


CUDA टूलकिट प्रलेखन यहाँ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.