{"id":477,"date":"2011-02-12T16:36:11","date_gmt":"2011-02-12T15:36:11","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?p=477"},"modified":"2013-08-13T22:47:00","modified_gmt":"2013-08-13T21:47:00","slug":"cuda-install-mini-howto","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=477","title":{"rendered":"CUDA Install mini HowTo"},"content":{"rendered":"<p>CUDA Install mini HowTo<\/p>\n<p>0.0 Lesenswertes<\/p>\n<p>1.0 Installation<br \/>\n1.1 Download<br \/>\n1.2 SDK instalieren<br \/>\n1.3 Beispiele instalieren<br \/>\n1.4 Nvidia Treiber installieren<\/p>\n<p>2.0 Installation testen<\/p>\n<p>3.0 Fehler beim compilieren der Beispiele<\/p>\n<p>0.1 Lesenswertes<\/p>\n<p>Der \"Linux getting started guide\" auf der Nvidia download Seite ist sehr zu empfehlen!<br \/>\n<a href=\"http:\/\/developer.nvidia.com\/object\/cuda_3_2_downloads.html#Linux\">http:\/\/developer.nvidia.com\/object\/cuda_3_2_downloads.html#Linux<\/a><br \/>\n<a href=\"http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/docs\/Getting_Started_Linux.pdf\">http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/docs\/Getting_Started_Linux.pdf<\/a><\/p>\n<p>Des weiteren arbeite ich gerade das Buch \"Cuda By Example\" was es aber leider nicht umsonst gibt.<\/p>\n<p>1.0 Installation<br \/>\n1.1 Download<\/p>\n<p>Ihr braucht die passenden Nvidia Treiber, das CUDA SDK und die Beispiele.<\/p>\n<p>\"CUDA Toolkit for Ubuntu Linux 10.04\"<br \/>\n<a href=\"http:\/\/www.nvidia.com\/object\/thankyou.html?url=\/compute\/cuda\/3_2_prod\/toolkit\/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run\">http:\/\/www.nvidia.com\/object\/thankyou.html?url=\/compute\/cuda\/3_2_prod\/toolkit\/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run<br \/>\n<\/a><br \/>\nBeispiele \"GPU Computing SDK code samples\"<br \/>\n<a href=\"http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/sdk\/gpucomputingsdk_3.2.16_linux.run\">http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/sdk\/gpucomputingsdk_3.2.16_linux.run<\/a><\/p>\n<p>Nvidia Developer Drivers for Linux (260.19.26)<br \/>\n<a href=\"http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/docs\/Getting_Started_Linux.pdf\">http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/docs\/Getting_Started_Linux.pdf<\/a><\/p>\n<p>1.2 SDK installieren<\/p>\n<p>Die Dateien mit chmod +x ausfuehrbar.<br \/>\nIch empfehle dringend jetzt schon den started guide zumindest ueberflogen zu haben. Man spart einfach eine Menge Zeit bei der Fehlersuche.<\/p>\n<p>Installiert das SDK<br \/>\n.\/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run<\/p>\n<p>Beachtet die Meldungen bei der Installation. Am Ende kommt der Hinweis, dass ihr die PATH und LD_LIBRARY_PATH<br \/>\nVariable und richtig setzten muesst. Sonst wird der Compiler und die Libs nicht gefunden spaeter.<\/p>\n<p>Bei mir ist das Installationsverzeichnis \/usr\/local\/cuda also muesst ihr die PATH Variable nach \/usr\/local\/cuda\/bin setzen<br \/>\nexport PATH=$PATH:\/usr\/local\/cuda\/bin<br \/>\nund<br \/>\nexport LD_LIBRARY_PATH=\/usr\/local\/cuda\/lib64:$LD_LIBRARY_PATH<\/p>\n<p>1.3 Beispiele installieren<\/p>\n<p>Das installieren der Beispiele ist unkritisch.<\/p>\n<p>.\/gpucomputingsdk_3.2.16_linux.run<\/p>\n<p>1.4 Nvidia Treiber installieren<\/p>\n<p>Die nvidia Treiber installation ist meist immer mit etwas Aufwand verbunden wenn kein reines Debian System verwendet wird.<br \/>\nFolgende Seite gab mir wertvolle Tipps<br \/>\n<a href=\"http:\/\/www.ubuntugeek.com\/howto-install-nvidia-drivers-manually-on-ubuntu-10-04-lucid-lynx.html\">http:\/\/www.ubuntugeek.com\/howto-install-nvidia-drivers-manually-on-ubuntu-10-04-lucid-lynx.html<\/a><\/p>\n<p>1)<br \/>\nFolgende Module<\/p>\n<p>blacklist vga16fb<br \/>\nblacklist nouveau<br \/>\nblacklist rivafb<br \/>\nblacklist nvidiafb<br \/>\nblacklist rivatv<\/p>\n<p>in die \/etc\/modprobe.d\/blacklist.conf eintragen.<\/p>\n<p>2)<br \/>\nNvidia Kram deinstallieren<br \/>\nsudo apt-get --purge remove nvidia-*<\/p>\n<p>3) Wenn die oben genannten Module noch geladen sind, schlaegt die Installation des Nvidia Treibers fehlt.<br \/>\nAlso Module von Hand entfernen oder neustarten. Nach einem Neustart kann es sei, dass X nicht mehr funktioniert.<br \/>\nAber das ist nicht schlimm, wir muessen eh auf die Konsole wechseln. Also den Knopf choose Exit to terminal (Exit to console) irgendwo finden oder klassisch mit STRG+ALT+F2 auf eine Konsole wechseln.<\/p>\n<p>4) Sicherstellen dass kdm gdm etc (der Loginmanager) nicht mehr laeuft.<br \/>\nsudo service kdm stop<br \/>\nsudo servide gdm stop<\/p>\n<p>Oder welchen Loginmanager ihr auch immer verwendet.<\/p>\n<p>5) Nun kann der Nvidia Treiber installiert werden.<br \/>\n.\/devdriver_3.2_linux_64_260.19.26.run<\/p>\n<p>Einmal beten dass alles gut laeuft, wenn nicht -> google.<br \/>\nAm Ende bietet uns der Installer an nvidia-xconfig auszufruehen, ja bitte.<\/p>\n<p>6) Den Loginmanager wieder starten<br \/>\nsudo service kdm start<br \/>\nsudo service gdm start<\/p>\n<p>Bei Fehler kann ich nur Raten den started guide einmal durchzulesen und nach der Fehlermeldung zu googlen.<br \/>\nOft fehlen Compiler \/ Kernelsourcen um den Treiber zu komplilieren. Die muessen dann nachinstalliert werden.<\/p>\n<p>2.0 Installation testen<\/p>\n<p>Wie im started Guide beschrieben, nach ~\/NVIDIA_GPU_Computing_SD\/C wechseln und mit make die Beispiele compileren.<\/p>\n<p>3.0 Fehler beim compilieren der Beispiele<\/p>\n<p>1)<br \/>\n\/usr\/bin\/ld: cannot find -lXi<br \/>\nXorg lib fehlt<br \/>\napt-get install xorg-dev<\/p>\n<p>2)<br \/>\n\/usr\/bin\/ld: cannot find -lglut<br \/>\nglut lib fehlt<br \/>\napt-get install glutg3-dev<\/p>\n<p>3)<br \/>\n\/usr\/bin\/ld: cannot find -lcuda<br \/>\nDiese Fehlermeldung hat mich eine ganz weile lang aufgehalten. Erstmal ueberpruefen ob die Datei libcuda.so ueberhaupt exitiert. Sie wird bei der Nvidia Treiber installation erstellt. Bei mir befindet sie sich unter<\/p>\n<p>kater@tesla:~$ find \/usr\/ -iname \"*libcuda.so*\"<br \/>\n\/usr\/lib\/libcuda.so.260.19.26<br \/>\n\/usr\/lib\/libcuda.so.1<br \/>\n\/usr\/lib\/libcuda.so<br \/>\n\/usr\/lib32\/libcuda.so.260.19.26<br \/>\n\/usr\/lib32\/libcuda.so.1<br \/>\n\/usr\/lib32\/libcuda.so<\/p>\n<p>Bei der letzten Installation war es noch<br \/>\n\/usr\/lib\/nvidia<\/p>\n<p>Ist die Datei da, kommt der Linkerfehler aber immer noch, liegt die Datei in einem Verzeichnis welches nicht vom Compiler durchsucht wird. Es sollte unter \/etc\/ld.so.conf.d\/ eigentlich eine Datei Namens GL.conf existieren, in welcher das entsprechende \/usr\/lib\/nvidia Verzeichnis steht. Wenn nicht, tragt es dort ein und f\u00fchrt ldconfig aus.<\/p>\n<p>Alternativ kann man dem Compiler mit -L\/usr\/lib\/nvidia das Verzeichnis mit geben.<\/p>\n<p>4) undefinded reference - Fehler<br \/>\nDie bekam ich, als die *buntu Nvidia Treiber Version noch installiert war. Sie war zu alt.<br \/>\nNehmt wirklich die neuste die auf der Cuda Downloadseite auch angeboten wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CUDA Install mini HowTo 0.0 Lesenswertes 1.0 Installation 1.1 Download 1.2 SDK instalieren 1.3 Beispiele instalieren 1.4 Nvidia Treiber installieren 2.0 Installation testen 3.0 Fehler beim compilieren der Beispiele 0.1 Lesenswertes Der \"Linux getting started guide\" auf der Nvidia download Seite ist sehr zu empfehlen! http:\/\/developer.nvidia.com\/object\/cuda_3_2_downloads.html#Linux http:\/\/developer.download.nvidia.com\/compute\/cuda\/3_2_prod\/docs\/Getting_Started_Linux.pdf Des weiteren arbeite ich gerade das Buch \"Cuda [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[21,18],"class_list":["post-477","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-cuda","tag-linux"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=477"}],"version-history":[{"count":13,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/477\/revisions"}],"predecessor-version":[{"id":1827,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/477\/revisions\/1827"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=477"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}