Crash messages with large datasets (C++ AMP)
-
Wednesday, May 02, 2012 4:22 PM
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.
All Replies
-
Wednesday, May 02, 2012 5:55 PM
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- Edited by DanielMothMicrosoft Employee, Owner Wednesday, May 02, 2012 6:27 PM those gotchas are for developer preview and do not apply to Beta
- Proposed As Answer by DanielMothMicrosoft Employee, Owner Thursday, May 03, 2012 1:22 AM
- Marked As Answer by kristoffer_t Friday, May 04, 2012 6:55 PM
-
Friday, May 04, 2012 6:55 PM
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.

