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 | |
10 | namespace 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 | |