1 | /* |
2 | * Licensed to the Apache Software Foundation (ASF) under one |
3 | * or more contributor license agreements. See the NOTICE file |
4 | * distributed with this work for additional information |
5 | * regarding copyright ownership. The ASF licenses this file |
6 | * to you under the Apache License, Version 2.0 (the |
7 | * "License"); you may not use this file except in compliance |
8 | * with the License. You may obtain a copy of the License at |
9 | * |
10 | * http://www.apache.org/licenses/LICENSE-2.0 |
11 | * |
12 | * Unless required by applicable law or agreed to in writing, |
13 | * software distributed under the License is distributed on an |
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
15 | * KIND, either express or implied. See the License for the |
16 | * specific language governing permissions and limitations |
17 | * under the License. |
18 | */ |
19 | |
20 | /*! |
21 | * \file src/target/target_tag.cc |
22 | * \brief Target tag registry |
23 | */ |
24 | |
25 | #include <tvm/ir/expr.h> |
26 | #include <tvm/runtime/registry.h> |
27 | #include <tvm/target/tag.h> |
28 | #include <tvm/target/target.h> |
29 | |
30 | #include "../node/attr_registry.h" |
31 | |
32 | namespace tvm { |
33 | |
34 | TVM_REGISTER_NODE_TYPE(TargetTagNode); |
35 | |
36 | TVM_REGISTER_GLOBAL("target.TargetTagListTags" ).set_body_typed(TargetTag::ListTags); |
37 | TVM_REGISTER_GLOBAL("target.TargetTagAddTag" ).set_body_typed(TargetTag::AddTag); |
38 | |
39 | /********** Registry-related code **********/ |
40 | |
41 | using TargetTagRegistry = AttrRegistry<TargetTagRegEntry, TargetTag>; |
42 | |
43 | TargetTagRegEntry& TargetTagRegEntry::RegisterOrGet(const String& target_tag_name) { |
44 | return TargetTagRegistry::Global()->RegisterOrGet(target_tag_name); |
45 | } |
46 | |
47 | Optional<Target> TargetTag::Get(const String& target_tag_name) { |
48 | const TargetTagRegEntry* reg = TargetTagRegistry::Global()->Get(target_tag_name); |
49 | if (reg == nullptr) { |
50 | return NullOpt; |
51 | } |
52 | return Target(reg->tag_->config); |
53 | } |
54 | |
55 | Map<String, Target> TargetTag::ListTags() { |
56 | Map<String, Target> result; |
57 | for (const String& tag : TargetTagRegistry::Global()->ListAllNames()) { |
58 | result.Set(tag, TargetTag::Get(tag).value()); |
59 | } |
60 | return result; |
61 | } |
62 | |
63 | Target TargetTag::AddTag(String name, Map<String, ObjectRef> config, bool override) { |
64 | TargetTagRegEntry& tag = TargetTagRegEntry::RegisterOrGet(name).set_name(); |
65 | ICHECK(override || tag.tag_->config.empty()) |
66 | << "Tag \"" << name << "\" has been previously defined as: " << tag.tag_->config; |
67 | tag.set_config(config); |
68 | return Target(config); |
69 | } |
70 | |
71 | /********** Register Target tags **********/ |
72 | |
73 | TVM_REGISTER_TARGET_TAG("raspberry-pi/4b-aarch64" ) |
74 | .set_config({{"kind" , String("llvm" )}, |
75 | {"mtriple" , String("aarch64-linux-gnu" )}, |
76 | {"mcpu" , String("cortex-a72" )}, |
77 | {"mattr" , Array<String>{"+neon" }}, |
78 | {"num-cores" , Integer(4)}, |
79 | {"host" , Map<String, ObjectRef>{{"kind" , String("llvm" )}, |
80 | {"mtriple" , String("aarch64-linux-gnu" )}, |
81 | {"mcpu" , String("cortex-a72" )}, |
82 | {"mattr" , Array<String>{"+neon" }}, |
83 | {"num-cores" , Integer(4)}}}}); |
84 | |
85 | TVM_REGISTER_TARGET_TAG("nvidia/jetson-agx-xavier" ) |
86 | .set_config({{"kind" , String("cuda" )}, |
87 | {"arch" , String("sm_72" )}, |
88 | {"max_shared_memory_per_block" , Integer(49152)}, |
89 | {"max_threads_per_block" , Integer(1024)}, |
90 | {"thread_warp_size" , Integer(32)}, |
91 | {"registers_per_block" , Integer(65536)}, |
92 | {"host" , Map<String, ObjectRef>{{"kind" , String("llvm" )}, |
93 | {"mtriple" , String("aarch64-linux-gnu" )}, |
94 | {"mcpu" , String("carmel" )}, |
95 | {"num-cores" , Integer(4)}}}}); |
96 | |
97 | #define TVM_REGISTER_CUDA_TAG(Name, Arch, SharedMem, RegPerBlock) \ |
98 | TVM_REGISTER_TARGET_TAG(Name).set_config({ \ |
99 | {"kind", String("cuda")}, \ |
100 | {"keys", Array<String>{"cuda", "gpu"}}, \ |
101 | {"arch", String(Arch)}, \ |
102 | {"max_shared_memory_per_block", Integer(SharedMem)}, \ |
103 | {"max_threads_per_block", Integer(1024)}, \ |
104 | {"thread_warp_size", Integer(32)}, \ |
105 | {"registers_per_block", Integer(RegPerBlock)}, \ |
106 | }); |
107 | |
108 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k80" , "sm_37" , 49152, 65536); |
109 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k40" , "sm_35" , 49152, 65536); |
110 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k20" , "sm_35" , 49152, 65536); |
111 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-c2075" , "sm_20" , 49152, 32768); |
112 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-c2050" , "sm_20" , 49152, 32768); |
113 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-c2070" , "sm_20" , 49152, 32768); |
114 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a100" , "sm_80" , 49152, 65536); |
115 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a40" , "sm_86" , 49152, 65536); |
116 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a30" , "sm_80" , 49152, 65536); |
117 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a10" , "sm_86" , 49152, 65536); |
118 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a16" , "sm_86" , 49152, 65536); |
119 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-a2" , "sm_86" , 49152, 65536); |
120 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-t4" , "sm_75" , 49152, 65536); |
121 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-v100" , "sm_70" , 49152, 65536); |
122 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-p100" , "sm_60" , 49152, 65536); |
123 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-p40" , "sm_61" , 49152, 65536); |
124 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-p4" , "sm_61" , 49152, 65536); |
125 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-m60" , "sm_52" , 49152, 65536); |
126 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-m40" , "sm_52" , 49152, 65536); |
127 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k80" , "sm_37" , 49152, 65536); |
128 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k40" , "sm_35" , 49152, 65536); |
129 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k20" , "sm_35" , 49152, 65536); |
130 | TVM_REGISTER_CUDA_TAG("nvidia/tesla-k10" , "sm_30" , 49152, 65536); |
131 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-rtx-8000" , "sm_75" , 49152, 65536); |
132 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-rtx-6000" , "sm_75" , 49152, 65536); |
133 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-rtx-5000" , "sm_75" , 49152, 65536); |
134 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-rtx-4000" , "sm_75" , 49152, 65536); |
135 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-gv100" , "sm_70" , 49152, 65536); |
136 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-gp100" , "sm_60" , 49152, 65536); |
137 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p6000" , "sm_61" , 49152, 65536); |
138 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p5000" , "sm_61" , 49152, 65536); |
139 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p4000" , "sm_61" , 49152, 65536); |
140 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p2200" , "sm_61" , 49152, 65536); |
141 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p2000" , "sm_61" , 49152, 65536); |
142 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p1000" , "sm_61" , 49152, 65536); |
143 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p620" , "sm_61" , 49152, 65536); |
144 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p600" , "sm_61" , 49152, 65536); |
145 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p400" , "sm_61" , 49152, 65536); |
146 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m6000-24gb" , "sm_52" , 49152, 65536); |
147 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m6000" , "sm_52" , 49152, 65536); |
148 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k6000" , "sm_35" , 49152, 65536); |
149 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m5000" , "sm_52" , 49152, 65536); |
150 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k5200" , "sm_35" , 49152, 65536); |
151 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k5000" , "sm_30" , 49152, 65536); |
152 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m4000" , "sm_52" , 49152, 65536); |
153 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k4200" , "sm_30" , 49152, 65536); |
154 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k4000" , "sm_30" , 49152, 65536); |
155 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m2000" , "sm_52" , 49152, 65536); |
156 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k2200" , "sm_50" , 49152, 65536); |
157 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k2000" , "sm_30" , 49152, 65536); |
158 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k2000d" , "sm_30" , 49152, 65536); |
159 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k1200" , "sm_50" , 49152, 65536); |
160 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k620" , "sm_50" , 49152, 65536); |
161 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k600" , "sm_30" , 49152, 65536); |
162 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k420" , "sm_30" , 49152, 65536); |
163 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-410" , "sm_30" , 49152, 65536); |
164 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-plex-7000" , "sm_20" , 49152, 32768); |
165 | TVM_REGISTER_CUDA_TAG("nvidia/rtx-5000" , "sm_75" , 49152, 65536); |
166 | TVM_REGISTER_CUDA_TAG("nvidia/rtx-4000" , "sm_75" , 49152, 65536); |
167 | TVM_REGISTER_CUDA_TAG("nvidia/rtx-3000" , "sm_75" , 49152, 65536); |
168 | TVM_REGISTER_CUDA_TAG("nvidia/t2000" , "sm_75" , 49152, 65536); |
169 | TVM_REGISTER_CUDA_TAG("nvidia/t1000" , "sm_75" , 49152, 65536); |
170 | TVM_REGISTER_CUDA_TAG("nvidia/p620" , "sm_61" , 49152, 65536); |
171 | TVM_REGISTER_CUDA_TAG("nvidia/p520" , "sm_61" , 49152, 65536); |
172 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p5200" , "sm_61" , 49152, 65536); |
173 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p4200" , "sm_61" , 49152, 65536); |
174 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p3200" , "sm_61" , 49152, 65536); |
175 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p5000" , "sm_61" , 49152, 65536); |
176 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p4000" , "sm_61" , 49152, 65536); |
177 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p3000" , "sm_61" , 49152, 65536); |
178 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p2000" , "sm_61" , 49152, 65536); |
179 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p1000" , "sm_61" , 49152, 65536); |
180 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p600" , "sm_61" , 49152, 65536); |
181 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-p500" , "sm_61" , 49152, 65536); |
182 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m5500m" , "sm_52" , 49152, 65536); |
183 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m2200" , "sm_52" , 49152, 65536); |
184 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m1200" , "sm_50" , 49152, 65536); |
185 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m620" , "sm_52" , 49152, 65536); |
186 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m520" , "sm_50" , 49152, 65536); |
187 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k6000m" , "sm_30" , 49152, 65536); |
188 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k5200m" , "sm_30" , 49152, 65536); |
189 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k5100m" , "sm_30" , 49152, 65536); |
190 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m5000m" , "sm_50" , 49152, 65536); |
191 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k500m" , "sm_30" , 49152, 65536); |
192 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k4200m" , "sm_30" , 49152, 65536); |
193 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k4100m" , "sm_30" , 49152, 65536); |
194 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m4000m" , "sm_50" , 49152, 65536); |
195 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k3100m" , "sm_30" , 49152, 65536); |
196 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m3000m" , "sm_50" , 49152, 65536); |
197 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k2200m" , "sm_30" , 49152, 65536); |
198 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k2100m" , "sm_30" , 49152, 65536); |
199 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m2000m" , "sm_50" , 49152, 65536); |
200 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k1100m" , "sm_30" , 49152, 65536); |
201 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m1000m" , "sm_50" , 49152, 65536); |
202 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k620m" , "sm_50" , 49152, 65536); |
203 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k610m" , "sm_35" , 49152, 65536); |
204 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m600m" , "sm_50" , 49152, 65536); |
205 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-k510m" , "sm_35" , 49152, 65536); |
206 | TVM_REGISTER_CUDA_TAG("nvidia/quadro-m500m" , "sm_50" , 49152, 65536); |
207 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-nvs-810" , "sm_50" , 49152, 65536); |
208 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-nvs-510" , "sm_30" , 49152, 65536); |
209 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-nvs-315" , "sm_21" , 49152, 32768); |
210 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-nvs-310" , "sm_21" , 49152, 32768); |
211 | TVM_REGISTER_CUDA_TAG("nvidia/nvs-5400m" , "sm_21" , 49152, 32768); |
212 | TVM_REGISTER_CUDA_TAG("nvidia/nvs-5200m" , "sm_21" , 49152, 32768); |
213 | TVM_REGISTER_CUDA_TAG("nvidia/nvs-4200m" , "sm_21" , 49152, 32768); |
214 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3090-ti" , "sm_86" , 49152, 65536); |
215 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3090" , "sm_86" , 49152, 65536); |
216 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3080-ti" , "sm_86" , 49152, 65536); |
217 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3080" , "sm_86" , 49152, 65536); |
218 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3070-ti" , "sm_86" , 49152, 65536); |
219 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3070" , "sm_86" , 49152, 65536); |
220 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-3060" , "sm_86" , 49152, 65536); |
221 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-titan-rtx" , "sm_75" , 49152, 65536); |
222 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2080-ti" , "sm_75" , 49152, 65536); |
223 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2080" , "sm_75" , 49152, 65536); |
224 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2070" , "sm_75" , 49152, 65536); |
225 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2060" , "sm_75" , 49152, 65536); |
226 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-titan-v" , "sm_70" , 49152, 65536); |
227 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-titan-xp" , "sm_61" , 49152, 65536); |
228 | TVM_REGISTER_CUDA_TAG("nvidia/nvidia-titan-x" , "sm_61" , 49152, 65536); |
229 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1080-ti" , "sm_61" , 49152, 65536); |
230 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1080" , "sm_61" , 49152, 65536); |
231 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1070-ti" , "sm_61" , 49152, 65536); |
232 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1070" , "sm_61" , 49152, 65536); |
233 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1060" , "sm_61" , 49152, 65536); |
234 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1050" , "sm_61" , 49152, 65536); |
235 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-titan-x" , "sm_52" , 49152, 65536); |
236 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-titan-z" , "sm_35" , 49152, 65536); |
237 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-titan-black" , "sm_35" , 49152, 65536); |
238 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-titan" , "sm_35" , 49152, 65536); |
239 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-980-ti" , "sm_52" , 49152, 65536); |
240 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-980" , "sm_52" , 49152, 65536); |
241 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-970" , "sm_52" , 49152, 65536); |
242 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-960" , "sm_52" , 49152, 65536); |
243 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-950" , "sm_52" , 49152, 65536); |
244 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-780-ti" , "sm_35" , 49152, 65536); |
245 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-780" , "sm_35" , 49152, 65536); |
246 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-770" , "sm_30" , 49152, 65536); |
247 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-760" , "sm_30" , 49152, 65536); |
248 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-750-ti" , "sm_50" , 49152, 65536); |
249 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-750" , "sm_50" , 49152, 65536); |
250 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-690" , "sm_30" , 49152, 65536); |
251 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-680" , "sm_30" , 49152, 65536); |
252 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-670" , "sm_30" , 49152, 65536); |
253 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-660-ti" , "sm_30" , 49152, 65536); |
254 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-660" , "sm_30" , 49152, 65536); |
255 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-650-ti-boost" , "sm_30" , 49152, 65536); |
256 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-650-ti" , "sm_30" , 49152, 65536); |
257 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-650" , "sm_30" , 49152, 65536); |
258 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-560-ti" , "sm_21" , 49152, 32768); |
259 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-550-ti" , "sm_21" , 49152, 32768); |
260 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-460" , "sm_21" , 49152, 32768); |
261 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gts-450" , "sm_21" , 49152, 32768); |
262 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-590" , "sm_20" , 49152, 32768); |
263 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-580" , "sm_20" , 49152, 32768); |
264 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-570" , "sm_20" , 49152, 32768); |
265 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-480" , "sm_20" , 49152, 32768); |
266 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-470" , "sm_20" , 49152, 32768); |
267 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-465" , "sm_20" , 49152, 32768); |
268 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-740" , "sm_30" , 49152, 65536); |
269 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-730" , "sm_35" , 49152, 65536); |
270 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-730-ddr3,128bit" , "sm_21" , 49152, 32768); |
271 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-720" , "sm_35" , 49152, 65536); |
272 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-705" , "sm_35" , 49152, 65536); |
273 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-640-gddr5" , "sm_35" , 49152, 65536); |
274 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-640-gddr3" , "sm_21" , 49152, 32768); |
275 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-630" , "sm_21" , 49152, 32768); |
276 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-620" , "sm_21" , 49152, 32768); |
277 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-610" , "sm_21" , 49152, 32768); |
278 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-520" , "sm_21" , 49152, 32768); |
279 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-440" , "sm_21" , 49152, 32768); |
280 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-430" , "sm_21" , 49152, 32768); |
281 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2080" , "sm_75" , 49152, 65536); |
282 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2070" , "sm_75" , 49152, 65536); |
283 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-rtx-2060" , "sm_75" , 49152, 65536); |
284 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1080" , "sm_61" , 49152, 65536); |
285 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1070" , "sm_61" , 49152, 65536); |
286 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-1060" , "sm_61" , 49152, 65536); |
287 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-980" , "sm_52" , 49152, 65536); |
288 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-980m" , "sm_52" , 49152, 65536); |
289 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-970m" , "sm_52" , 49152, 65536); |
290 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-965m" , "sm_52" , 49152, 65536); |
291 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-960m" , "sm_50" , 49152, 65536); |
292 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-950m" , "sm_50" , 49152, 65536); |
293 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-940m" , "sm_50" , 49152, 65536); |
294 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-930m" , "sm_50" , 49152, 65536); |
295 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-920m" , "sm_35" , 49152, 65536); |
296 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-910m" , "sm_52" , 49152, 65536); |
297 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-880m" , "sm_30" , 49152, 65536); |
298 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-870m" , "sm_30" , 49152, 65536); |
299 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-860m-sm-30" , "sm_30" , 49152, 65536); |
300 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-860m-sm-50" , "sm_50" , 49152, 65536); |
301 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-850m" , "sm_50" , 49152, 65536); |
302 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-840m" , "sm_50" , 49152, 65536); |
303 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-830m" , "sm_50" , 49152, 65536); |
304 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-820m" , "sm_21" , 49152, 32768); |
305 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-800m" , "sm_21" , 49152, 32768); |
306 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-780m" , "sm_30" , 49152, 65536); |
307 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-770m" , "sm_30" , 49152, 65536); |
308 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-765m" , "sm_30" , 49152, 65536); |
309 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-760m" , "sm_30" , 49152, 65536); |
310 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-680mx" , "sm_30" , 49152, 65536); |
311 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-680m" , "sm_30" , 49152, 65536); |
312 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-675mx" , "sm_30" , 49152, 65536); |
313 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-675m" , "sm_21" , 49152, 32768); |
314 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-670mx" , "sm_30" , 49152, 65536); |
315 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-670m" , "sm_21" , 49152, 32768); |
316 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-660m" , "sm_30" , 49152, 65536); |
317 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-755m" , "sm_30" , 49152, 65536); |
318 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-750m" , "sm_30" , 49152, 65536); |
319 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-650m" , "sm_30" , 49152, 65536); |
320 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-745m" , "sm_30" , 49152, 65536); |
321 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-645m" , "sm_30" , 49152, 65536); |
322 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-740m" , "sm_30" , 49152, 65536); |
323 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-730m" , "sm_30" , 49152, 65536); |
324 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-640m" , "sm_30" , 49152, 65536); |
325 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-640m-le" , "sm_30" , 49152, 65536); |
326 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-735m" , "sm_30" , 49152, 65536); |
327 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-635m" , "sm_21" , 49152, 32768); |
328 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-730m" , "sm_30" , 49152, 65536); |
329 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-630m" , "sm_21" , 49152, 32768); |
330 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-625m" , "sm_21" , 49152, 32768); |
331 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-720m" , "sm_21" , 49152, 32768); |
332 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-620m" , "sm_21" , 49152, 32768); |
333 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-710m" , "sm_21" , 49152, 32768); |
334 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-705m" , "sm_21" , 49152, 32768); |
335 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-610m" , "sm_21" , 49152, 32768); |
336 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-580m" , "sm_21" , 49152, 32768); |
337 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-570m" , "sm_21" , 49152, 32768); |
338 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-560m" , "sm_21" , 49152, 32768); |
339 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-555m" , "sm_21" , 49152, 32768); |
340 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-550m" , "sm_21" , 49152, 32768); |
341 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-540m" , "sm_21" , 49152, 32768); |
342 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-525m" , "sm_21" , 49152, 32768); |
343 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-520mx" , "sm_21" , 49152, 32768); |
344 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-520m" , "sm_21" , 49152, 32768); |
345 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-485m" , "sm_21" , 49152, 32768); |
346 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-470m" , "sm_21" , 49152, 32768); |
347 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-460m" , "sm_21" , 49152, 32768); |
348 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-445m" , "sm_21" , 49152, 32768); |
349 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-435m" , "sm_21" , 49152, 32768); |
350 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-420m" , "sm_21" , 49152, 32768); |
351 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gt-415m" , "sm_21" , 49152, 32768); |
352 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-gtx-480m" , "sm_20" , 49152, 32768); |
353 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-710m" , "sm_21" , 49152, 32768); |
354 | TVM_REGISTER_CUDA_TAG("nvidia/geforce-410m" , "sm_21" , 49152, 32768); |
355 | TVM_REGISTER_CUDA_TAG("nvidia/jetson-nano" , "sm_53" , 49152, 32768); |
356 | TVM_REGISTER_CUDA_TAG("nvidia/jetson-tx2" , "sm_62" , 49152, 32768); |
357 | TVM_REGISTER_CUDA_TAG("nvidia/jetson-tx1" , "sm_53" , 49152, 32768); |
358 | TVM_REGISTER_CUDA_TAG("nvidia/tegra-x1" , "sm_53" , 49152, 32768); |
359 | |
360 | #undef TVM_REGISTER_CUDA_TAG |
361 | |
362 | #define TVM_REGISTER_TAG_AWS_C5(Name, Cores, Arch) \ |
363 | TVM_REGISTER_TARGET_TAG(Name).set_config({{"kind", String("llvm")}, \ |
364 | {"keys", Array<String>{"x86", "cpu"}}, \ |
365 | {"mcpu", String(Arch)}, \ |
366 | {"num-cores", Integer(Cores)}}); |
367 | |
368 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.large" , 1, "skylake-avx512" ); |
369 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.xlarge" , 2, "skylake-avx512" ); |
370 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.2xlarge" , 4, "skylake-avx512" ); |
371 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.4xlarge" , 8, "skylake-avx512" ); |
372 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.9xlarge" , 18, "skylake-avx512" ); |
373 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.12xlarge" , 24, "cascadelake" ); |
374 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.18xlarge" , 36, "skylake-avx512" ); |
375 | TVM_REGISTER_TAG_AWS_C5("aws/cpu/c5.24xlarge" , 48, "cascadelake" ); |
376 | |
377 | #undef TVM_REGISTER_TAG_AWS_C5 |
378 | |
379 | } // namespace tvm |
380 | |