2012-06-03 13 views
8

A veces, los errores en mis programas CUDA hacen que los gráficos de escritorio se rompan (en Windows). Normalmente, la pantalla permanece legible, pero cuando los gráficos cambian, como al arrastrar una ventana, aparecen muchos píxeles de colores semialeatorios y pequeños bloques.Restablecer la GPU y el controlador después del error CUDA

He intentado restablecer la GPU y el controlador cambiando la resolución del escritorio, pero eso no ayuda. La única solución que he encontrado es reiniciar la computadora.

¿Hay algún programa o algún truco que pueda usar para que el controlador y la GPU se restablezcan sin reiniciar?

Antecedentes:

he tenido 1.0, 1.1, 1.3 y 2.0 tarjetas, pero sólo tengo una tarjeta de 1.1 y 2.0 ahora. He visto el problema en 1.0 y 1.1. Estoy bastante seguro de haberlo visto en 1.3. No estoy seguro acerca de 2.0. ¿La protección de la memoria se agregó en algún momento alrededor de 1.3? Estoy casi seguro de que no se debe a un hardware inestable, ya que los problemas parecen haber sido provocados por errores en mi código y han desaparecido cuando se solucionaron los errores. Al ejecutar código terminado, las cartas se han mantenido estables. Escribí esta pregunta después de verla en mi tarjeta 1.1, pero desapareció después de que arreglé un error y ahora no tengo ningún código que lo reproduzca. Tal vez debería intentar escribir en lugares al azar en la tarjeta 1.1 y ver si pasa algo ...

+0

¿Se refiere a cuando tiene un programa de cuda de larga ejecución y el controlador falla? – Tudor

+0

@Tudor: No, no creo que el tiempo necesario para ejecutar los factores del kernel en él. No está relacionado con el temporizador de vigilancia. –

+2

Esto realmente no debería suceder, por lo que debe probar su placa para detectar problemas de hardware. Primero intente intercambiar la placa y ejecutar los mismos programas que causan errores para ver si puede reproducirla (idealmente una instancia de la misma placa modelo y una placa diferente). Si se reproduce, no es probable que sea un problema de hardware. También puede probar un corrector de memoria como [esto] (https://simtk.org/home/memtest/) (no estoy seguro si está actualizado). – harrism

Respuesta

6

Editar:

Si se usa hardware de Tesla en Linux y puede ejecutar nvidia-gar, a continuación, puede restablecer la GPU usando

nvidia-smi -r 

o

nvidia-smi --gpu-reset 

Aquí está la salida man para este interruptor:

Restablece el estado de la GPU. Se puede utilizar para borrar errores ECC de doble bit o recuperar colgado GPU. Requiere -i cambiar al dispositivo específico de destino. Disponible solo en Linux.

De lo contrario ...


La manera de restablecer el hardware realmente es para reiniciar.

Lo que describes no debería suceder. Recomiendo probar con diferentes hardware y háganos saber si aún ocurre.

+0

Gracias por la respuesta. Agregué algunos antecedentes. Me pregunto si la gente que marcó esto como una pregunta favorita ha visto el problema. –

+0

Lo que ha agregado es realmente impreciso. Necesitas un estuche de repro exacto para archivar un error. – harrism

+0

¿Por qué no deshacer la corrección de errores que hizo que el problema desaparezca y luego simplificar el programa para hacer una prueba simple? – harrism

2

Tengo una GeForce GTX 260 sobre NVDIA GPU SDK 4.2 y estoy teniendo algunos problemas. A veces desarrollo Tengo errores en los programas. Esto hace que la pantalla muestre los píxeles de colores aleatorios descritos en esta publicación.

Como se indica aquí, si cambio la resolución, no desaparecen. Además, si solo cambio la PROFUNDIDAD DE COLOR de 32 a 16 bits, los píxeles de colores aleatorios desaparecerán, pero volviendo a 32 bits (sin reiniciar) los harán aparecer nuevamente. Última error que hacía que este comportamiento estaba usando __constant__ memoria, sino que pasa como un puntero:

test<<<grid, threadsPerBlock>>>(cuda_malloc_data, cuda_constant_data); 

Si no paso cudb_constant_data, entonces no hay error (y por lo tanto, no aparecen los píxeles de colores aleatorios).

1

Para restablecer los gráficos se apilan en Windows, pulse Win +Ctrl +Shift +B.

Cuestiones relacionadas