Files | |
file | error.hpp |
Classes | |
struct | cudf::stacktrace_recorder |
The struct to store the current stacktrace upon its construction. More... | |
struct | cudf::logic_error |
Exception thrown when logical precondition is violated. More... | |
struct | cudf::cuda_error |
Exception thrown when a CUDA error is encountered. More... | |
struct | cudf::fatal_cuda_error |
struct | cudf::data_type_error |
Exception thrown when an operation is attempted on an unsupported dtype. More... | |
Macros | |
#define | CUDF_EXPECTS(...) |
Macro for checking (pre-)conditions that throws an exception when a condition is violated. More... | |
#define | CUDF_FAIL(...) |
Indicates that an erroneous code path has been taken. More... | |
#define | CUDF_CUDA_TRY(call) |
Error checking macro for CUDA runtime API functions. More... | |
#define | CUDF_CHECK_CUDA(stream) |
Debug macro to check for CUDA errors. More... | |
#define CUDF_CHECK_CUDA | ( | stream | ) |
Debug macro to check for CUDA errors.
In a non-release build, this macro will synchronize the specified stream before error checking. In both release and non-release builds, this macro checks for any pending CUDA errors from previous calls. If an error is reported, an exception is thrown detailing the CUDA error that occurred.
The intent of this macro is to provide a mechanism for synchronous and deterministic execution for debugging asynchronous CUDA execution. It should be used after any asynchronous CUDA call, e.g., cudaMemcpyAsync, or an asynchronous kernel launch.
#define CUDF_CUDA_TRY | ( | call | ) |
Error checking macro for CUDA runtime API functions.
Invokes a CUDA runtime API function call, if the call does not return cudaSuccess, invokes cudaGetLastError() to clear the error and throws an exception detailing the CUDA error that occurred
#define CUDF_EXPECTS | ( | ... | ) |
Macro for checking (pre-)conditions that throws an exception when a condition is violated.
Defaults to throwing cudf::logic_error
, but a custom exception may also be specified.
Example usage:
... | This macro accepts either two or three arguments:
|
<tt>_exception_type</tt> | if the condition evaluates to 0 (false). |
#define CUDF_FAIL | ( | ... | ) |
Indicates that an erroneous code path has been taken.
Example usage:
... | This macro accepts either one or two arguments:
|
<tt>_exception_type</tt> | if the condition evaluates to 0 (false). |