Root-Zugriff für CUDA erforderlich?

8

Ich benutze GeForce 8400M GS unter Ubuntu 10.04 und lerne CUDA-Programmierung. Ich schreibe und führe einige grundlegende Programme. Ich benutzte cudaMalloc, und es gab mir einen Fehler, bis ich den Code als root ausführte. Allerdings musste ich den Code nur einmal als root ausführen. Danach, auch wenn ich den Code als normaler Benutzer ausführe, bekomme ich keinen Fehler auf malloc. Was ist los?

    
gmemon 19.06.2012, 15:29
quelle

2 Antworten

7

Dies liegt wahrscheinlich daran, dass Ihre GPU beim Booten nicht richtig initialisiert wurde. Ich bin auf dieses Problem gestoßen, wenn ich Ubuntu Server und andere Installationen verwende, bei denen ein X-Server nicht automatisch gestartet wird. Versuchen Sie Folgendes, um es zu beheben:

Erstellen Sie ein Verzeichnis für ein Skript, um Ihre Grafikprozessoren zu initialisieren. Ich verwende normalerweise /root/bin . Erstellen Sie in diesem Verzeichnis eine Datei namens cudainit.sh mit dem folgenden Code (dieses Skript stammt aus den Nvidia-Foren).

%Vor%

Jetzt müssen wir dieses Skript beim Booten automatisch ausführen lassen. Bearbeiten Sie /etc/rc.local wie folgt:

%Vor%

Starten Sie Ihren Computer neu und versuchen Sie, Ihr CUDA-Programm als normaler Benutzer auszuführen. Wenn ich recht habe, was das Problem ist, dann sollte es behoben werden.

    
Brendan Wood 20.06.2012, 17:10
quelle
0

Um mit Ubuntu 14.04 zu arbeiten, folgte ich Ссылка , um nvidia-uvm zu etc/modules hinzuzufügen und einer benutzerdefinierten udev-Regel eine Zeile hinzuzufügen. Erstellen Sie /etc/udev/rules.d/70-nvidia-uvm.rules mit dieser Zeile:

%Vor%

Ich verstehe nicht, warum sudo modprobe nvidia-uvm funktioniert, um eine richtige /dev/nvidia-uvm zu erstellen (wie auch sudo cuda_program ), aber die /etc/modules -Liste erfordert die udev-Regel.

    
Lucas W 20.03.2015 17:01
quelle

Tags und Links