Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When you author restrict (amp) kernels (the lambda you pass to parallel_for_each), as with any other code, there are various things that can go wrong. In restrict (amp) code there is no exception handling, but the C++ AMP runtime can throw exceptions on the CPU side when you call parallel_for_each, when you construct various C++ AMP types and when you make various calls on those types. This blog series will describe the C++ AMP exceptions.
The main new exception introduced is concurrency::runtime_exception in amprt.h (which is included in your code when you include amp.h), which inherits from std::exception . There are also 4 other new exceptions (in the same namespace and header file) that themselves inherit from runtime_exception: invalid_compute_domain, unsupported_feature, out_of_memory, and accelerator_view_removed.
In follow up blog posts I will explain each one of the exceptions and will then update this post with links to them: