Il mio programma CUDA si è arrestato in modo anomalo durante l'esecuzione, prima che la memoria venisse scaricata. Di conseguenza, la memoria del dispositivo è rimasta occupata.Come svuotare la memoria GPU utilizzando CUDA (il ripristino fisico non è disponibile)
Sono in esecuzione su una GTX 580, per cui nvidia-smi --gpu-reset
non è supportato.
L'inserimento di cudaDeviceReset()
all'inizio del programma ha effetto solo sul contesto corrente creato dal processo e non scarica la memoria allocata prima di esso.
Sto accedendo a un server Fedora con quella GPU da remoto, quindi il ripristino fisico è piuttosto complicato.
Quindi, la domanda è: c'è un modo per svuotare la memoria del dispositivo in questa situazione?
"Come risultato, la memoria del dispositivo rimane occupata "- Come sai che questo è vero? – talonmies
Sebbene 'nvidia-smi --gpu-reset' non sia disponibile, posso ancora ottenere alcune informazioni con' nvidia-smi -q'. Nella maggior parte dei campi fornisce 'N/A', ma alcune informazioni sono utili. Ecco l'output rilevante: 'Uso memoria Totale: 1535 MB Utilizzato: 1227 MB Libero: 307 MB' – timdim
Inoltre, non riesco ad allocare memoria per variabili, che sono abbastanza piccole – timdim