1#pragma once
2
3#ifndef _TRITON_DRIVER_ERROR_H_
4#define _TRITON_DRIVER_ERROR_H_
5
6#include <exception>
7#include "triton/driver/dispatch.h"
8
9
10namespace triton
11{
12
13 namespace driver
14 {
15
16 namespace exception
17 {
18
19 namespace nvrtc
20 {
21
22#define TRITON_CREATE_NVRTC_EXCEPTION(name, msg) class name: public std::exception { public: const char * what() const throw(){ return "NVRTC: Error- " msg; } }
23
24 TRITON_CREATE_NVRTC_EXCEPTION(out_of_memory ,"out of memory");
25 TRITON_CREATE_NVRTC_EXCEPTION(program_creation_failure ,"program creation failure");
26 TRITON_CREATE_NVRTC_EXCEPTION(invalid_input ,"invalid input");
27 TRITON_CREATE_NVRTC_EXCEPTION(invalid_program ,"invalid program");
28 TRITON_CREATE_NVRTC_EXCEPTION(invalid_option ,"invalid option");
29 TRITON_CREATE_NVRTC_EXCEPTION(compilation ,"compilation");
30 TRITON_CREATE_NVRTC_EXCEPTION(builtin_operation_failure ,"builtin operation failure");
31 TRITON_CREATE_NVRTC_EXCEPTION(unknown_error ,"unknown error");
32
33#undef TRITON_CREATE_NVRTC_EXCEPTION
34 }
35
36
37 namespace cuda
38 {
39 class base: public std::exception{};
40
41#define TRITON_CREATE_CUDA_EXCEPTION(name, msg) class name: public base { public:const char * what() const throw(){ return "CUDA: Error- " msg; } }
42
43
44 TRITON_CREATE_CUDA_EXCEPTION(invalid_value ,"invalid value");
45 TRITON_CREATE_CUDA_EXCEPTION(out_of_memory ,"out of memory");
46 TRITON_CREATE_CUDA_EXCEPTION(not_initialized ,"not initialized");
47 TRITON_CREATE_CUDA_EXCEPTION(deinitialized ,"deinitialized");
48 TRITON_CREATE_CUDA_EXCEPTION(profiler_disabled ,"profiler disabled");
49 TRITON_CREATE_CUDA_EXCEPTION(profiler_not_initialized ,"profiler not initialized");
50 TRITON_CREATE_CUDA_EXCEPTION(profiler_already_started ,"profiler already started");
51 TRITON_CREATE_CUDA_EXCEPTION(profiler_already_stopped ,"profiler already stopped");
52 TRITON_CREATE_CUDA_EXCEPTION(no_device ,"no device");
53 TRITON_CREATE_CUDA_EXCEPTION(invalid_device ,"invalid device");
54 TRITON_CREATE_CUDA_EXCEPTION(invalid_image ,"invalid image");
55 TRITON_CREATE_CUDA_EXCEPTION(invalid_context ,"invalid context");
56 TRITON_CREATE_CUDA_EXCEPTION(context_already_current ,"context already current");
57 TRITON_CREATE_CUDA_EXCEPTION(map_failed ,"map failed");
58 TRITON_CREATE_CUDA_EXCEPTION(unmap_failed ,"unmap failed");
59 TRITON_CREATE_CUDA_EXCEPTION(array_is_mapped ,"array is mapped");
60 TRITON_CREATE_CUDA_EXCEPTION(already_mapped ,"already mapped");
61 TRITON_CREATE_CUDA_EXCEPTION(no_binary_for_gpu ,"no binary for gpu");
62 TRITON_CREATE_CUDA_EXCEPTION(already_acquired ,"already acquired");
63 TRITON_CREATE_CUDA_EXCEPTION(not_mapped ,"not mapped");
64 TRITON_CREATE_CUDA_EXCEPTION(not_mapped_as_array ,"not mapped as array");
65 TRITON_CREATE_CUDA_EXCEPTION(not_mapped_as_pointer ,"not mapped as pointer");
66 TRITON_CREATE_CUDA_EXCEPTION(ecc_uncorrectable ,"ecc uncorrectable");
67 TRITON_CREATE_CUDA_EXCEPTION(unsupported_limit ,"unsupported limit");
68 TRITON_CREATE_CUDA_EXCEPTION(context_already_in_use ,"context already in use");
69 TRITON_CREATE_CUDA_EXCEPTION(peer_access_unsupported ,"peer access unsupported");
70 TRITON_CREATE_CUDA_EXCEPTION(invalid_ptx ,"invalid ptx");
71 TRITON_CREATE_CUDA_EXCEPTION(invalid_graphics_context ,"invalid graphics context");
72 TRITON_CREATE_CUDA_EXCEPTION(invalid_source ,"invalid source");
73 TRITON_CREATE_CUDA_EXCEPTION(file_not_found ,"file not found");
74 TRITON_CREATE_CUDA_EXCEPTION(shared_object_symbol_not_found ,"shared object symbol not found");
75 TRITON_CREATE_CUDA_EXCEPTION(shared_object_init_failed ,"shared object init failed");
76 TRITON_CREATE_CUDA_EXCEPTION(operating_system ,"operating system");
77 TRITON_CREATE_CUDA_EXCEPTION(invalid_handle ,"invalid handle");
78 TRITON_CREATE_CUDA_EXCEPTION(not_found ,"not found");
79 TRITON_CREATE_CUDA_EXCEPTION(not_ready ,"not ready");
80 TRITON_CREATE_CUDA_EXCEPTION(illegal_address ,"illegal address");
81 TRITON_CREATE_CUDA_EXCEPTION(launch_out_of_resources ,"launch out of resources");
82 TRITON_CREATE_CUDA_EXCEPTION(launch_timeout ,"launch timeout");
83 TRITON_CREATE_CUDA_EXCEPTION(launch_incompatible_texturing ,"launch incompatible texturing");
84 TRITON_CREATE_CUDA_EXCEPTION(peer_access_already_enabled ,"peer access already enabled");
85 TRITON_CREATE_CUDA_EXCEPTION(peer_access_not_enabled ,"peer access not enabled");
86 TRITON_CREATE_CUDA_EXCEPTION(primary_context_active ,"primary context active");
87 TRITON_CREATE_CUDA_EXCEPTION(context_is_destroyed ,"context is destroyed");
88 TRITON_CREATE_CUDA_EXCEPTION(assert_error ,"assert");
89 TRITON_CREATE_CUDA_EXCEPTION(too_many_peers ,"too many peers");
90 TRITON_CREATE_CUDA_EXCEPTION(host_memory_already_registered ,"host memory already registered");
91 TRITON_CREATE_CUDA_EXCEPTION(host_memory_not_registered ,"hot memory not registered");
92 TRITON_CREATE_CUDA_EXCEPTION(hardware_stack_error ,"hardware stack error");
93 TRITON_CREATE_CUDA_EXCEPTION(illegal_instruction ,"illegal instruction");
94 TRITON_CREATE_CUDA_EXCEPTION(misaligned_address ,"misaligned address");
95 TRITON_CREATE_CUDA_EXCEPTION(invalid_address_space ,"invalid address space");
96 TRITON_CREATE_CUDA_EXCEPTION(invalid_pc ,"invalid pc");
97 TRITON_CREATE_CUDA_EXCEPTION(launch_failed ,"launch failed");
98 TRITON_CREATE_CUDA_EXCEPTION(not_permitted ,"not permitted");
99 TRITON_CREATE_CUDA_EXCEPTION(not_supported ,"not supported");
100 TRITON_CREATE_CUDA_EXCEPTION(unknown ,"unknown");
101
102#undef TRITON_CREATE_CUDA_EXCEPTION
103 }
104
105 namespace cublas
106 {
107 class base: public std::exception{};
108
109#define TRITON_CREATE_CUBLAS_EXCEPTION(name, msg) class name: public base { public: const char * what() const throw(){ return "CUBLAS: Error- " msg; } }
110
111 TRITON_CREATE_CUBLAS_EXCEPTION(not_initialized ,"not initialized");
112 TRITON_CREATE_CUBLAS_EXCEPTION(alloc_failed ,"alloc failed");
113 TRITON_CREATE_CUBLAS_EXCEPTION(invalid_value ,"invalid value");
114 TRITON_CREATE_CUBLAS_EXCEPTION(arch_mismatch ,"arch mismatch");
115 TRITON_CREATE_CUBLAS_EXCEPTION(mapping_error ,"mapping error");
116 TRITON_CREATE_CUBLAS_EXCEPTION(execution_failed ,"execution failed");
117 TRITON_CREATE_CUBLAS_EXCEPTION(internal_error ,"internal error");
118 TRITON_CREATE_CUBLAS_EXCEPTION(not_supported ,"not supported");
119 TRITON_CREATE_CUBLAS_EXCEPTION(license_error ,"license error");
120 TRITON_CREATE_CUBLAS_EXCEPTION(unknown ,"unknown");
121
122#undef TRITON_CREATE_CUBLAS_EXCEPTION
123 }
124
125 namespace cudnn
126 {
127#define TRITON_CREATE_CUDNN_EXCEPTION(name, msg) class name: public std::exception { public: const char * what() const throw(){ return "CUDNN: Error- " msg; } }
128
129 TRITON_CREATE_CUDNN_EXCEPTION(not_initialized ,"not initialized");
130 TRITON_CREATE_CUDNN_EXCEPTION(alloc_failed ,"allocation failed");
131 TRITON_CREATE_CUDNN_EXCEPTION(bad_param ,"bad param");
132 TRITON_CREATE_CUDNN_EXCEPTION(internal_error ,"internal error");
133 TRITON_CREATE_CUDNN_EXCEPTION(invalid_value ,"invalid value");
134 TRITON_CREATE_CUDNN_EXCEPTION(arch_mismatch ,"arch mismatch");
135 TRITON_CREATE_CUDNN_EXCEPTION(mapping_error ,"mapping error");
136 TRITON_CREATE_CUDNN_EXCEPTION(execution_failed ,"execution failed");
137 TRITON_CREATE_CUDNN_EXCEPTION(not_supported ,"not supported");
138 TRITON_CREATE_CUDNN_EXCEPTION(license_error ,"license error");
139 TRITON_CREATE_CUDNN_EXCEPTION(runtime_prerequisite_missing ,"prerequisite missing");
140 TRITON_CREATE_CUDNN_EXCEPTION(runtime_in_progress ,"runtime in progress");
141 TRITON_CREATE_CUDNN_EXCEPTION(runtime_fp_overflow ,"runtime fp overflow");
142 }
143
144
145
146
147 namespace hip
148 {
149 class base: public std::exception{};
150
151#define TRITON_CREATE_HIP_EXCEPTION(name, msg) class name: public base { public:const char * what() const throw(){ return "HIP: Error- " msg; } }
152
153
154 TRITON_CREATE_HIP_EXCEPTION(invalid_value ,"invalid value");
155 TRITON_CREATE_HIP_EXCEPTION(out_of_memory ,"out of memory");
156 TRITON_CREATE_HIP_EXCEPTION(not_initialized ,"not initialized");
157 TRITON_CREATE_HIP_EXCEPTION(deinitialized ,"deinitialized");
158 TRITON_CREATE_HIP_EXCEPTION(profiler_disabled ,"profiler disabled");
159 TRITON_CREATE_HIP_EXCEPTION(profiler_not_initialized ,"profiler not initialized");
160 TRITON_CREATE_HIP_EXCEPTION(profiler_already_started ,"profiler already started");
161 TRITON_CREATE_HIP_EXCEPTION(profiler_already_stopped ,"profiler already stopped");
162 TRITON_CREATE_HIP_EXCEPTION(no_device ,"no device");
163 TRITON_CREATE_HIP_EXCEPTION(invalid_device ,"invalid device");
164 TRITON_CREATE_HIP_EXCEPTION(invalid_image ,"invalid image");
165 TRITON_CREATE_HIP_EXCEPTION(invalid_context ,"invalid context");
166 TRITON_CREATE_HIP_EXCEPTION(context_already_current ,"context already current");
167 TRITON_CREATE_HIP_EXCEPTION(map_failed ,"map failed");
168 TRITON_CREATE_HIP_EXCEPTION(unmap_failed ,"unmap failed");
169 TRITON_CREATE_HIP_EXCEPTION(array_is_mapped ,"array is mapped");
170 TRITON_CREATE_HIP_EXCEPTION(already_mapped ,"already mapped");
171 TRITON_CREATE_HIP_EXCEPTION(no_binary_for_gpu ,"no binary for gpu");
172 TRITON_CREATE_HIP_EXCEPTION(already_acquired ,"already acquired");
173 TRITON_CREATE_HIP_EXCEPTION(not_mapped ,"not mapped");
174 TRITON_CREATE_HIP_EXCEPTION(not_mapped_as_array ,"not mapped as array");
175 TRITON_CREATE_HIP_EXCEPTION(not_mapped_as_pointer ,"not mapped as pointer");
176 TRITON_CREATE_HIP_EXCEPTION(ecc_uncorrectable ,"ecc uncorrectable");
177 TRITON_CREATE_HIP_EXCEPTION(unsupported_limit ,"unsupported limit");
178 TRITON_CREATE_HIP_EXCEPTION(context_already_in_use ,"context already in use");
179 TRITON_CREATE_HIP_EXCEPTION(peer_access_unsupported ,"peer access unsupported");
180 TRITON_CREATE_HIP_EXCEPTION(invalid_ptx ,"invalid ptx");
181 TRITON_CREATE_HIP_EXCEPTION(invalid_graphics_context ,"invalid graphics context");
182 TRITON_CREATE_HIP_EXCEPTION(invalid_source ,"invalid source");
183 TRITON_CREATE_HIP_EXCEPTION(file_not_found ,"file not found");
184 TRITON_CREATE_HIP_EXCEPTION(shared_object_symbol_not_found ,"shared object symbol not found");
185 TRITON_CREATE_HIP_EXCEPTION(shared_object_init_failed ,"shared object init failed");
186 TRITON_CREATE_HIP_EXCEPTION(operating_system ,"operating system");
187 TRITON_CREATE_HIP_EXCEPTION(invalid_handle ,"invalid handle");
188 TRITON_CREATE_HIP_EXCEPTION(not_found ,"not found");
189 TRITON_CREATE_HIP_EXCEPTION(not_ready ,"not ready");
190 TRITON_CREATE_HIP_EXCEPTION(illegal_address ,"illegal address");
191 TRITON_CREATE_HIP_EXCEPTION(launch_out_of_resources ,"launch out of resources");
192 TRITON_CREATE_HIP_EXCEPTION(launch_timeout ,"launch timeout");
193 TRITON_CREATE_HIP_EXCEPTION(launch_incompatible_texturing ,"launch incompatible texturing");
194 TRITON_CREATE_HIP_EXCEPTION(peer_access_already_enabled ,"peer access already enabled");
195 TRITON_CREATE_HIP_EXCEPTION(peer_access_not_enabled ,"peer access not enabled");
196 TRITON_CREATE_HIP_EXCEPTION(primary_context_active ,"primary context active");
197 TRITON_CREATE_HIP_EXCEPTION(context_is_destroyed ,"context is destroyed");
198 TRITON_CREATE_HIP_EXCEPTION(assert_error ,"assert");
199 TRITON_CREATE_HIP_EXCEPTION(too_many_peers ,"too many peers");
200 TRITON_CREATE_HIP_EXCEPTION(host_memory_already_registered ,"host memory already registered");
201 TRITON_CREATE_HIP_EXCEPTION(host_memory_not_registered ,"hot memory not registered");
202 TRITON_CREATE_HIP_EXCEPTION(hardware_stack_error ,"hardware stack error");
203 TRITON_CREATE_HIP_EXCEPTION(illegal_instruction ,"illegal instruction");
204 TRITON_CREATE_HIP_EXCEPTION(misaligned_address ,"misaligned address");
205 TRITON_CREATE_HIP_EXCEPTION(invalid_address_space ,"invalid address space");
206 TRITON_CREATE_HIP_EXCEPTION(invalid_pc ,"invalid pc");
207 TRITON_CREATE_HIP_EXCEPTION(launch_failed ,"launch failed");
208 TRITON_CREATE_HIP_EXCEPTION(not_permitted ,"not permitted");
209 TRITON_CREATE_HIP_EXCEPTION(not_supported ,"not supported");
210 TRITON_CREATE_HIP_EXCEPTION(invalid_symbol ,"invalid symbol");
211 TRITON_CREATE_HIP_EXCEPTION(unknown ,"unknown");
212
213#undef TRITON_CREATE_CUDA_EXCEPTION
214 }
215
216 }
217 }
218}
219
220#endif
221