(target)
| 291 | |
| 292 | |
| 293 | def _target_to_requirement(target): |
| 294 | if isinstance(target, str | dict): |
| 295 | target = tvm.target.Target(target) |
| 296 | |
| 297 | # GPU-family kinds get the `gpu` selection marker; CPU-family kinds only skip. |
| 298 | kind = target.kind.name |
| 299 | if kind == "cuda" and "cudnn" in target.attrs.get("libs", []): |
| 300 | return _gpu_mark_and_skip(env.has_cudnn, "need cudnn") |
| 301 | if kind == "cuda" and "cublas" in target.attrs.get("libs", []): |
| 302 | return _gpu_mark_and_skip(env.has_cublas, "need cublas") |
| 303 | if kind == "cuda": |
| 304 | return _gpu_mark_and_skip(env.has_cuda, "need cuda") |
| 305 | if kind == "rocm": |
| 306 | return _gpu_mark_and_skip(env.has_rocm, "need rocm") |
| 307 | if kind == "vulkan": |
| 308 | return _gpu_mark_and_skip(env.has_vulkan, "need vulkan") |
| 309 | if kind == "nvptx": |
| 310 | return _gpu_mark_and_skip(env.has_nvptx, "need nvptx") |
| 311 | if kind == "metal": |
| 312 | return _gpu_mark_and_skip(env.has_metal, "need metal") |
| 313 | if kind == "opencl": |
| 314 | return _gpu_mark_and_skip(env.has_opencl, "need opencl") |
| 315 | if kind == "llvm": |
| 316 | return _skip_only(env.has_llvm, "need llvm") |
| 317 | if kind == "hexagon": |
| 318 | return _skip_only(env.has_hexagon, "need hexagon") |
| 319 | |
| 320 | return [] |
| 321 | |
| 322 | |
| 323 | def _parametrize_correlated_parameters(metafunc): |
no test coverage detected
searching dependent graphs…