Crash messages with large datasets (C++ AMP)
-
quarta-feira, 2 de maio de 2012 16:22
I'm implementing a lattice boltzmann solver using C++ AMP. When the grid size comes to size above 600x600 the screen goes black, the application crashes with the following catch: "Failed to dispatch kernel", "Failed to update constant buffer" or "Failed to release constant buffer." I also get a message that the Nvidia driver has crashed and been restored.
Could anyone please explaine these error messages? I first belived the GPU was out of memory. But it shouldnt really use more than 100MB with this size of mesh, (512x512 uses 58 MB). And my GPU has 2GB of RAM. (Nvidia Quadro 2000M).
Any suggestions would be much appreciated.
Todas as Respostas
-
quarta-feira, 2 de maio de 2012 17:55
kristoffer_t,
Have you had a look at our blogs on exceptions? Our runtime exceptions will usually help diagnose the problem.
http://blogs.msdn.com/b/nativeconcurrency/archive/2012/01/27/c-amp-runtime-exceptions.aspxScreen flashing black usually means a TDR. I would follow the recommendations in the above blog post or see the following one which covers certain TDR exceptions:
http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/06/handling-tdrs-in-c-amp.aspxDoes it only happen in Debug mode?
Please let us know what you find out or if you still need help.
Thanks,
JoeM- Editado DanielMothMicrosoft Employee, Owner quarta-feira, 2 de maio de 2012 18:27 those gotchas are for developer preview and do not apply to Beta
- Sugerido como Resposta DanielMothMicrosoft Employee, Owner quinta-feira, 3 de maio de 2012 01:22
- Marcado como Resposta kristoffer_t sexta-feira, 4 de maio de 2012 18:55
-
sexta-feira, 4 de maio de 2012 18:55
You were right, I compiled as Release, so i didnt get the full message, in Debug mode it stated that it was a TDR. Changing to queuing_mode_immediate fixed the problem, however there seems to be quite a performance penalty.
Thanks for your respons.

