Recibo un error de falta de recursos al intentar ejecutar un kernel CUDA (a través de PyCUDA), y me pregunto si es posible hacer que el sistema me diga qué recurso es el que me falta. . Obviamente, el sistema sabe qué recurso se ha agotado, solo quiero consultarlo también.¿Cómo puedo diagnosticar una falla de lanzamiento de CUDA debido a que no tengo recursos?
He utilizado la calculadora de ocupación, y todo parece estar bien, así que o bien hay un caso de esquina no cubierto, o lo estoy usando mal. Yo sé que no es registros (que parece ser el culpable habitual) porque estoy usando < = 63 y no lo consigo con un bloque de 1x1x1 y la rejilla de 1x1 en un dispositivo de CC 2.1.
Gracias por cualquier ayuda. He publicado un hilo en los tablones de NVidia:
http://forums.nvidia.com/index.php?showtopic=206261&st=0
pero no obtuvo respuesta. Si la respuesta es "no se puede pedir al sistema esa información", sería bueno saberlo también (más o menos ...;).
Editar:
La mayoría registrar el uso que he visto ha sido 63. Editado lo anterior para reflejar eso.
Este fue el error, así que gracias por sugerir eso. Todavía me gustaría que hubiera una manera de preguntar qué está pasando, pero parece que no está disponible. –
que estaba manteniendo a raya ya que mi verdadera pregunta era "puedo conseguir el sistema para decirme esto directamente", pero sobre la base de algunas conversaciones en otro lugar, estoy bastante seguro de que la respuesta es "No, cuda no tiene una API para eso. " –
Sí, el problema es que a menudo hay muchas formas de causar el mismo error; poder decirle exactamente qué fue lo que salió mal es algo muy difícil de respaldar. – harrism