2011-12-03 9 views
7

Anche se avevo installato pycuda e usarlo bene, è iniziato (senza fare qc) di non work.So, ii cercato di fare di nuovo l'installazione, ma quando sto facendopycuda - "CUDA_ROOT non impostato e nvcc non nel percorso".

pitone configure.py - cuda-root =/usr/local/cuda/bin

mi dà l'errore nel titolo.

Il file nvcc si trova nella directory precedente.

risposta

8

pycuda non sta trovando nvcc. Hai provato ad aggiungere/usr/local/cuda/bin alla tua variabile PATH env? Questo è il modo in cui ho questa configurazione.

Edit:

Per quanto posso dire al configure.py non chiama compilatore nvcc solo crea il makefile. Prendo atto che questo problema si verifica quando si esegue sudo -c "make install" che chiama setup.py.

Un paio di cose da provare. Assicurarsi di aver impostato CUDA_ROOT:

echo $CUDA_ROOT 

Se è vuota, impostarlo con:

export CUDA_ROOT=/usr/local/cuda/bin 

provare a eseguire il comando make nuovo. Ora con l'-E per preservare il vostro ENV:

sudo -E sh -c "make install" 
+0

Se si intende il file bashrc, i contenuti sono: # PATH = ~/bin: $ PATH export PATH =/usr/local/cuda/bin: $ PATH export LD_LIBRARY_PATH =/usr/local/cuda/lib64: $ LD_LIBRARY_PATH. L'nvcc funziona bene, da qualunque posto io lo chiami – George

+0

stai cambiando utente o usando sudo quando esegui python configure.py? – jkysam

+0

io uso sudo quando eseguo 'make install'. Io non cambio mai utente (quando eseguo python configure non uso sudo) – George

1

Ho incontrato lo stesso problema su uno Slackware64 13.37.

Il comando di installazione su -c "make install" passa a root (0bv10u5Ly), pertanto CUDA_ROOT deve essere impostato nel profilo radice. CUDA_ROOT non è una variabile di ambiente, è utilizzata da setup.py. Aggiungi/usr/local/cuda/bin a PATH e definisci CUDA_ROOT=/usr/local/cuda/bin quindi prova ad installare di nuovo.

Questo è il modo rapido e sporco ma se nessuno di sopra ha funzionato per voi come me, qui sotto funzionerà sicuramente. (:..

Rimuovere

nvcc_path = search_on_path(["nvcc", "nvcc.exe"]) 
if nvcc_path is None: 
    print("*** CUDA_ROOT not set, and nvcc not in path. Giving up.") 
    sys.exit(1) 

e impostare

cuda_root_default = "/usr/local/cuda/bin" 

nel file di setup.py Quindi provare su -c "make install"

1

Nel mio caso, ho dovuto impostare CUDA_ROOT=/usr/local/cuda perché con /usr/local/cuda/bin percorso , non è stato in grado di trovare la cartella include e non è riuscito con errore non ha trovato cuda.h.

Problemi correlati