 |
Ginkgo
Generated from pipelines/2837190956 branch based on develop. Ginkgo version 2.0.0
A numerical linear algebra library targeting many-core architectures
|
5 #ifndef GKO_PUBLIC_CORE_BASE_EXCEPTION_HPP_
6 #define GKO_PUBLIC_CORE_BASE_EXCEPTION_HPP_
13 #include <ginkgo/core/base/name_demangling.hpp>
14 #include <ginkgo/core/base/types.hpp>
58 class Error :
public std::runtime_error {
67 Error(
const std::string& file,
int line,
const std::string& what)
68 : std::runtime_error(file +
":" + std::to_string(line) +
": " + what)
87 :
Error(file, line, func +
" is not implemented")
106 NotCompiled(
const std::string& file,
int line,
const std::string& func,
107 const std::string& module)
109 "feature " + func +
" is part of the " + module +
110 " module, which is not compiled on this system")
130 NotSupported(
const std::string& file,
int line,
const std::string& func,
131 const std::string& obj_type)
133 "Operation " + func +
" does not support parameters of type " +
151 MpiError(
const std::string& file,
int line,
const std::string& func,
153 :
Error(file, line, func +
": " + get_error(error_code))
157 static std::string get_error(
int64 error_code);
174 CudaError(
const std::string& file,
int line,
const std::string& func,
176 :
Error(file, line, func +
": " + get_error(error_code))
180 static std::string get_error(
int64 error_code);
197 CublasError(
const std::string& file,
int line,
const std::string& func,
199 :
Error(file, line, func +
": " + get_error(error_code))
203 static std::string get_error(
int64 error_code);
220 CurandError(
const std::string& file,
int line,
const std::string& func,
222 :
Error(file, line, func +
": " + get_error(error_code))
226 static std::string get_error(
int64 error_code);
245 :
Error(file, line, func +
": " + get_error(error_code))
249 static std::string get_error(
int64 error_code);
266 CufftError(
const std::string& file,
int line,
const std::string& func,
268 :
Error(file, line, func +
": " + get_error(error_code))
272 static std::string get_error(
int64 error_code);
289 HipError(
const std::string& file,
int line,
const std::string& func,
291 :
Error(file, line, func +
": " + get_error(error_code))
295 static std::string get_error(
int64 error_code);
312 HipblasError(
const std::string& file,
int line,
const std::string& func,
314 :
Error(file, line, func +
": " + get_error(error_code))
318 static std::string get_error(
int64 error_code);
335 HiprandError(
const std::string& file,
int line,
const std::string& func,
337 :
Error(file, line, func +
": " + get_error(error_code))
341 static std::string get_error(
int64 error_code);
361 :
Error(file, line, func +
": " + get_error(error_code))
365 static std::string get_error(
int64 error_code);
382 HipfftError(
const std::string& file,
int line,
const std::string& func,
384 :
Error(file, line, func +
": " + get_error(error_code))
388 static std::string get_error(
int64 error_code);
405 MetisError(
const std::string& file,
int line,
const std::string& func,
406 const std::string& error)
407 :
Error(file, line, func +
": " + error)
433 const std::string& func,
const std::string& first_name,
435 const std::string& second_name,
size_type second_rows,
436 size_type second_cols,
const std::string& clarification)
438 func +
": attempting to combine operators " + first_name +
439 " [" + std::to_string(first_rows) +
" x " +
440 std::to_string(first_cols) +
"] and " + second_name +
" [" +
441 std::to_string(second_rows) +
" x " +
442 std::to_string(second_cols) +
"]: " + clarification)
464 BadDimension(
const std::string& file,
int line,
const std::string& func,
465 const std::string& op_name,
size_type op_num_rows,
466 size_type op_num_cols,
const std::string& clarification)
468 func +
": Object " + op_name +
" has dimensions [" +
469 std::to_string(op_num_rows) +
" x " +
470 std::to_string(op_num_cols) +
"]: " + clarification)
481 template <
typename IndexType>
491 const int block_size,
const IndexType size)
493 "block size = " + std::to_string(block_size) +
494 ", size = " + std::to_string(size))
516 const std::string& clarification)
518 func +
": Value mismatch : " + std::to_string(val1) +
" and " +
519 std::to_string(val2) +
" : " + clarification)
538 const std::string& device,
size_type bytes)
540 device +
": failed to allocate memory block of " +
541 std::to_string(bytes) +
"B")
563 "trying to access index " + std::to_string(index) +
564 " in a memory block of " + std::to_string(bound) +
582 const std::string& index_type)
583 :
Error(file, line,
"Overflowing " + index_type)
601 StreamError(
const std::string& file,
int line,
const std::string& func,
602 const std::string& message)
603 :
Error(file, line, func +
": " + message)
622 :
Error(file, line, func +
": unable to find an eligible kernel")
643 const std::string& msg)
644 :
Error(file, line, msg)
661 const std::string& func,
const std::string& clarification)
663 func +
": Invalid state encountered : " + clarification)
683 InvalidData(
const std::string& file,
int line,
const std::type_info& type,
684 const std::string& invariant)
686 "Invariant violated in " +
687 name_demangling::get_type_name(type) +
": " + invariant)
695 #endif // GKO_PUBLIC_CORE_BASE_EXCEPTION_HPP_
CudaError is thrown when a CUDA routine throws a non-zero error code.
Definition: exception.hpp:164
ValueMismatch is thrown if two values are not equal.
Definition: exception.hpp:502
Error that denotes issues between block sizes and matrix dimensions.
Definition: exception.hpp:482
NotCompiled(const std::string &file, int line, const std::string &func, const std::string &module)
Initializes a NotCompiled error.
Definition: exception.hpp:106
KernelNotFound(const std::string &file, int line, const std::string &func)
Initializes a KernelNotFound error.
Definition: exception.hpp:621
KernelNotFound is thrown if Ginkgo cannot find a kernel which satisfies the criteria imposed by the i...
Definition: exception.hpp:612
HipblasError is thrown when a hipBLAS routine throws a non-zero error code.
Definition: exception.hpp:302
OutOfBoundsError is thrown if a memory access is detected to be out-of-bounds.
Definition: exception.hpp:550
NotImplemented is thrown in case an operation has not yet been implemented (but will be implemented i...
Definition: exception.hpp:77
AllocationError(const std::string &file, int line, const std::string &device, size_type bytes)
Initializes an allocation error.
Definition: exception.hpp:537
std::size_t size_type
Integral type used for allocation quantities.
Definition: types.hpp:101
OutOfBoundsError(const std::string &file, int line, size_type index, size_type bound)
Initializes an OutOfBoundsError.
Definition: exception.hpp:560
Exception thrown if an object is in an invalid state.
Definition: exception.hpp:650
Exception throws if a matrix does not have a property required by a numerical method.
Definition: exception.hpp:633
NotCompiled is thrown when attempting to call an operation which is a part of a module that was not c...
Definition: exception.hpp:96
NotSupported(const std::string &file, int line, const std::string &func, const std::string &obj_type)
Initializes a NotSupported error.
Definition: exception.hpp:130
HiprandError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a hipRAND error.
Definition: exception.hpp:335
NotSupported is thrown in case it is not possible to perform the requested operation on the given obj...
Definition: exception.hpp:119
InvalidData(const std::string &file, int line, const std::type_info &type, const std::string &invariant)
Initializes an InvalidData error.
Definition: exception.hpp:683
CublasError is thrown when a cuBLAS routine throws a non-zero error code.
Definition: exception.hpp:187
MetisError(const std::string &file, int line, const std::string &func, const std::string &error)
Initializes a METIS error.
Definition: exception.hpp:405
CublasError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a cuBLAS error.
Definition: exception.hpp:197
MpiError is thrown when a MPI routine throws a non-zero error code.
Definition: exception.hpp:142
The Ginkgo namespace.
Definition: abstract_factory.hpp:19
UnsupportedMatrixProperty(const std::string &file, const int line, const std::string &msg)
Initializes the UnsupportedMatrixProperty error.
Definition: exception.hpp:642
CudaError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a CUDA error.
Definition: exception.hpp:174
StreamError(const std::string &file, int line, const std::string &func, const std::string &message)
Initializes a file access error.
Definition: exception.hpp:601
AllocationError is thrown if a memory allocation fails.
Definition: exception.hpp:527
CurandError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a cuRAND error.
Definition: exception.hpp:220
HipfftError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a hipFFT error.
Definition: exception.hpp:382
BadDimension(const std::string &file, int line, const std::string &func, const std::string &op_name, size_type op_num_rows, size_type op_num_cols, const std::string &clarification)
Initializes a bad dimension error.
Definition: exception.hpp:464
MpiError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a MPI error.
Definition: exception.hpp:151
OverflowError(const std::string &file, const int line, const std::string &index_type)
Definition: exception.hpp:581
InvalidStateError(const std::string &file, int line, const std::string &func, const std::string &clarification)
Initializes an invalid state error.
Definition: exception.hpp:660
StreamError is thrown if accessing a stream failed.
Definition: exception.hpp:591
CufftError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a cuFFT error.
Definition: exception.hpp:266
DimensionMismatch is thrown if an operation is being applied to LinOps of incompatible size.
Definition: exception.hpp:416
CusparseError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a cuSPARSE error.
Definition: exception.hpp:243
HipError is thrown when a HIP routine throws a non-zero error code.
Definition: exception.hpp:279
BadDimension is thrown if an operation is being applied to a LinOp with bad dimensions.
Definition: exception.hpp:451
CufftError is thrown when a cuFFT routine throws a non-zero error code.
Definition: exception.hpp:256
OverflowError is thrown when an index calculation for storage requirements overflows.
Definition: exception.hpp:574
Error(const std::string &file, int line, const std::string &what)
Initializes an error.
Definition: exception.hpp:67
std::int64_t int64
64-bit signed integral type.
Definition: types.hpp:124
HipblasError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a hipBLAS error.
Definition: exception.hpp:312
HipError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a HIP error.
Definition: exception.hpp:289
CurandError is thrown when a cuRAND routine throws a non-zero error code.
Definition: exception.hpp:210
HiprandError is thrown when a hipRAND routine throws a non-zero error code.
Definition: exception.hpp:325
BlockSizeError(const std::string &file, const int line, const int block_size, const IndexType size)
Definition: exception.hpp:490
HipsparseError is thrown when a hipSPARSE routine throws a non-zero error code.
Definition: exception.hpp:349
DimensionMismatch(const std::string &file, int line, const std::string &func, const std::string &first_name, size_type first_rows, size_type first_cols, const std::string &second_name, size_type second_rows, size_type second_cols, const std::string &clarification)
Initializes a dimension mismatch error.
Definition: exception.hpp:432
HipfftError is thrown when a hipFFT routine throws a non-zero error code.
Definition: exception.hpp:372
ValueMismatch(const std::string &file, int line, const std::string &func, size_type val1, size_type val2, const std::string &clarification)
Initializes a value mismatch error.
Definition: exception.hpp:514
InvalidData is thrown in case an object in Ginkgo contains invalid data, either because the data was ...
Definition: exception.hpp:673
CusparseError is thrown when a cuSPARSE routine throws a non-zero error code.
Definition: exception.hpp:233
HipsparseError(const std::string &file, int line, const std::string &func, int64 error_code)
Initializes a hipSPARSE error.
Definition: exception.hpp:359
MetisError is thrown when METIS routine throws an error code.
Definition: exception.hpp:395
The Error class is used to report exceptional behaviour in library functions.
Definition: exception.hpp:58
NotImplemented(const std::string &file, int line, const std::string &func)
Initializes a NotImplemented error.
Definition: exception.hpp:86