sanmiguel9
Anmeldungsdatum: 26. Mai 2008
Beiträge: 149
Wohnort: Schweiz
|
Hallo Wiki-Team, ich habe mich gestern richtig über Nvidia geärgert, da es überhaupt nicht einfach ist, CUDA und das passende SDK zu installieren. Nach zig mal irgendwelche Pfade anzupassen, habe ich das ganze jetzt in einem Wiki-Artikel zusammengefasst. Hoffentlich bin ich somit der letzte der x-Stunden rumgewurstelt hat 😀 Ich bitte um euer Feedback. Ich habe dem Artikel ansonsten nichts mehr hinzuzufügen. Gruss
sanmiguel9 PS: übrigens würde ich mich auch freuen wenn der einte oder andere bestätigen kann, dass es auch bei ihm funktioniert ☺
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: Zähle...
|
Zwar kein Wiki Team, aber danke für den Artikel, war mir auch schon negativ aufgefallen, dass es ihn nicht gab. 👍 . Spontane Fragen:
Nvidia links sind tot Tatsächlich in die bashrc schreiben, oder lieber bei Bedarf LIBRARY_PATH laden ? ..was speziell bei Optimus sinnvoll ist, nicht jede cuda app braucht einen Xserver, d.h. ohne "optirun" Zugriff auf Nvidia GPU
Gruß, zippy
|
sanmiguel9
(Themenstarter)
Anmeldungsdatum: 26. Mai 2008
Beiträge: 149
Wohnort: Schweiz
|
Vielen Danke, Links sind ausgebessert. Ich bin kein Entwickler und verstehe leider zu wenig was der Unterschied ist von export LD_LIBRARY_PATH=...
Mein Punkt ist hier, dass nicht nur /usr/local/cuda/lib* wie von Nvidia erklärt sondern auch /usr/lib*/nvidia-current geschrieben werden müssen. Es stellt sich für mich auch die Frage, wie die Fälle für 32/64bit behandelt werden. Zwei Anweisungen? Für 32bit schreib das, für 64bit dies? Und wie sieht es mit LD_LIBRARY_PATH vs LIBRARY_PATH aus? Nvidia schreibt immer LD_LIBRARY_PATH, aber im Netz findet man auch LIBRARY_PATH für diese CUDA Geschichte... 😕 Und wie sieht es mit PATH aus? Kann das problemlos in .bashrc bleiben? Bezüglich Optimus, könntest Du mir bitte kurz erklären an was für Fälle Du denkst? Ich habe hier bumblebee 3.0 am laufen, ist dann meine nvidia Karte nicht immer aus, wenn keine optirun-Anwendung läuft? Ich bin noch nicht so mit nvidia/optimus/cuda etc. vertraut.
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: Zähle...
|
Startbeispiel von "transpose" auf Optimus Lappy. "optirun" startet ja auch einen 2.Xserver zur Bildausgabe, den man ja wohl in den wenigsten Fällen für cuda apps braucht. Wenn die Pfade in der bashrc oder gar in /etc/ld.so.conf.d/* stehen, haben sie halt Priorität gegenüber Systempfaden, entweder sytemweit oder auf die bash bezogen; was man ja nicht immer unbedingt will. Stattdessen sollte man vielleicht eher empfehlen, die 3 Zeilen vor dem Start einer Cuda Anwendung auszuführen. Bin auch absolut ahnungslos, mal sehen was die Nerds sagen.
|
sanmiguel9
(Themenstarter)
Anmeldungsdatum: 26. Mai 2008
Beiträge: 149
Wohnort: Schweiz
|
Off-topic: interessant, wusste nicht das mit CUDA die Graka auch ohne optirun nutzbar ist. Tönt gut, so kann z.B. Darktable etc. die brachliegende Graka nutzen, aber die Intel HD kümmert sich um den Monitor. Allerdings ergibt
| LD_LIBRARY_PATH=/usr/lib/nvidia-current /home/me/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/transpose
|
und ähnliche Varianten bei mir immer
| transpose.cu(184) : CUDA Runtime API error 38: no CUDA-capable device is detected.
|
Nur wenn ich in einem 2. Terminal optirun gedit mache geht es. Ansonsten stellt bumblebee wahrscheinlich den Strom ab...
Naja, ich warte mal ab und eröffne dann einen neuen Thread 😉
|
noisefloor
Ehemaliger
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28080
Wohnort: WW
|
Hallo, habe ein paar Kleinigkeiten korrigiert, ansonsten IMHO ok - also aus Wiki-Sicht. Inhaltlich kann ich auch nicht viel beitragen 😉 Gruß, noisefloor
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: 3137
|
sanmiguel9 schrieb: Off-topic: interessant, wusste nicht das mit CUDA die Graka auch ohne optirun nutzbar ist. Tönt gut, so kann z.B. Darktable etc. die brachliegende Graka nutzen, aber die Intel HD kümmert sich um den Monitor. Allerdings ergibt
| LD_LIBRARY_PATH=/usr/lib/nvidia-current /home/me/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/transpose
|
und ähnliche Varianten bei mir immer
| transpose.cu(184) : CUDA Runtime API error 38: no CUDA-capable device is detected.
|
Nur wenn ich in einem 2. Terminal optirun gedit mache geht es. Ansonsten stellt bumblebee wahrscheinlich den Strom ab...
Naja, ich warte mal ab und eröffne dann einen neuen Thread 😉
Ja klar stellt bbee den Strom ab, genauer bbswitch. Aber stell ihn doch an, statt optirun gedit oder sowas 😉 : Status:
GPU anschalten (root!)
| echo ON >> /proc/acpi/bbswitch
|
"OFF" um die GPU wieder abzuschalten; nicht vergessen, einige (sehr) wenige Lappys sollten nicht mit abgeschalteter GPU heruntergefahren werden. Edit: Ist auch nicht offtopic, solange Du im Wikiartikel Anweisung zum Cuda Start auf Optimus gibst...
|
frustschieber
Ehemalige
Anmeldungsdatum: 4. Januar 2007
Beiträge: 4256
|
Hallo, wie ist hier der Stand der Dinge? Fertig? Gruss
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: 3137
|
Argh, hatte ich fast vergessen. Aber gut, eben mal Cuda kompiliert auf 11.10. Funktioniert, Anleitung ist korrekt. Vielen Dank an sanmiguel9 ! Gleich "getestet" Tag für Oneiric hinzugefügt, denke, ihr könnt das Ding verschieben. Wollte das dann mal eben auch für 12.10 testen, funktioniert, zumindest, so nicht...gcc und c++ sind zu neu, Versionen 4.4 müßen zusätzlich installiert und gesymlinkt werden. Aber selbst dann gibt es diverse Kompilierfehler, nicht alle Cuda Beispiele werden erfolgreich gebaut. Keine Lust, dem weiter auf den Grund zu gehen, Nvidia wird sicherlich das Toolkit irgendwann dahingehend anpassen. Gruß, zippy
|
frustschieber
Ehemalige
Anmeldungsdatum: 4. Januar 2007
Beiträge: 4256
|
Verschoben, nach Grafikkarten (Abschnitt „Sonstiges“) verküpft mit Dank an den Autor sanmiguel9
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: 3137
|
Nach erfolgreicher Installation ist es nötig folgende Zeilen | export PATH=${PATH}:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-current:/usr/lib32/nvidia-current
|
in die Datei ~/.bashrc im Homeverzeichnis zu schreiben. Hier gibt es ein Problem. Auf Hybridmaschinen (Nvidia Optimus) zerstören die Path exports die Intel Hardwarebeschleunigung. Sollten wir darauf hinweisen, oder Artikel dahingehend ändern, dass man die exports nur lädt, bevor man eine CUDAapp ausführt? Gruß, zippy
|
noisefloor
Ehemaliger
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28080
Wohnort: WW
|
Hallo, IMHO beides. Gruß, noisefloor
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: 3137
|
Genau genommen ist es nur:
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-current:/usr/lib32/nvidia-current
|
Ist es denn generell überhaupt empfehlenswert, sich sowas in die .bashrc zu schreiben, es sei denn, man weiß was man tut/ob der Nebenwirkungen?
Halte den Aufruf bei Bedarf (CUDAapp) für Leute, die zur CUDA Installation das Wiki benötigen, einerseits für sinnvoller, andererseits ist es natürlich praktischer für reine nvidia Systeme, die wohl deutlich überwiegen. Gruß, zippy Vorschlag: So lassen, + Hinweisbox: Achtung, Optimus, bla. Edit: so getan. Bitte ggfs anpassen.
|
noisefloor
Ehemaliger
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28080
Wohnort: WW
|
Hallo, Syntax korrigiert. Gruß, noisefloor
|
realzippy
Anmeldungsdatum: 5. Mai 2009
Beiträge: 3137
|
Hallo, mir fällt gerade auf, dass der Artikel durch die Wikisuche nicht gefunden wird, vielleicht ein paar Links anlegen (CUDA, Cuda, cuda). Niemand sucht nach: "Nvidia_CUDA_installieren". Gruß, zippy
|