impostazione LD_LIBRARY_PATH per CUDA


12

L'installazione del toolkit CUDA comporta la stampa delle seguenti istruzioni sulla console.

Assicurati che LD_LIBRARY_PATH per le distribuzioni Linux a 64 bit includa /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

O

per le distribuzioni Linux a 64 bit aggiungere /usr/local/cuda-5.0/lib64 e /usr/local/cuda-5.0/lib su /etc/ld.so.conf ed eseguire ldconfig come root

Il seguente codice in /etc/profilenon ha avuto effetto.

if [ -z "$LD_LIBRARY_PATH" ]; then    
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

Cioè, il riavvio e l'emissione echo $LD_LIBRARY_PATHhanno mostrato che la variabile non è stata definita.

Per provare il suggerimento alternativo, ho aggiunto le due righe al file in /etc/ld.so.confmodo che il mio file assomigli a questo

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

Quindi ho emesso:

sudo ldconfig

poi

echo $LD_LIBRARY_PATH

Tuttavia la variabile d'ambiente non è stata impostata. Come posso rispettare le istruzioni di installazione CUDA mostrate sopra?


1
ldconfig non imposta LD_LIBRARY_PATH, include le librerie in modo diverso.
w4etwetewtwet,

Risposte:


17

Aggiungi un file con l' .confestensione /etc/ld.so.conf.d/ che contenga i percorsi delle librerie ed esegui ldconfig. Assicurati di impostare le autorizzazioni e la proprietà del file in modo che corrispondano agli altri file nella directory.

Questa è una soluzione a livello di sistema rispetto alla soluzione specifica dell'utente di modifica di .bashrc.

Sul mio sistema ho fatto nvidia.confin /etc/ld.so.conf.d/. Il file contiene le righe:

/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

Se crei il file come sudoallora le tue autorizzazioni dovrebbero essere valide, ma my nvidia.confè il proprietario / gruppo root e rw-r - r-- (o 644).


1
Questo non sembra funzionare. ldconfig non imposta $ LD_LIBRARY_PATH.
Nick,

1
La mia comprensione è che risolve il problema in modo tale che non è necessario impostare la variabile del percorso. Quindi se "non funziona" significa che la variabile non è impostata, allora certo. Se "non funziona" significa che CUDA non funziona, allora sono necessarie ulteriori informazioni sul tuo problema poiché questo abilita (e continua ad abilitare) lo sviluppo di CUDA sulla mia configurazione.
Logan Mayfield,

Sono sicuro che funzioni per alcune cose, il programma che stavo cercando di compilare vuole usare $ LD_LIBRARY_PATH, che probabilmente non è la migliore pratica, significa che devo impostarlo!
Nick,

10

Inserisci quanto segue .bashrc.

if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

Penso che il metodo preferito sia creare un file .conf. L'ho descritto nella mia risposta di seguito.
Logan Mayfield,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.