MCPcopy Create free account
hub / github.com/MegEngine/MegCC / call_kernel_cv

Function call_kernel_cv

compiler/test/kernel/common/src/cc_proxy_cv.cpp:237–257  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

235
236template <typename Opr>
237PerformanceResult call_kernel_cv(
238 std::vector<const KernelGen::KernelFunc*>& kernels, TContext* ctx,
239 const TensorNDArray& tensors, const BenchmarkOption& benchmark_option,
240 const std::string& kernel_symbol, RunCvHelper<Opr>& runner,
241 const OutputScope output_idx) {
242 std::string kern_name;
243 for (auto kernel : kernels) {
244 if (kernel->IsCVAvailable(ctx)) {
245 auto kern_sym = kernel->GetCVKernelSymbol(ctx);
246 auto if_match = std::regex_match(kern_sym, std::regex(kernel_symbol));
247 if (!if_match)
248 continue;
249 kern_name = kern_sym;
250 break;
251 }
252 }
253 mgb_assert(kern_name.size() > 0, "gen kernel name failed");
254 TargetModule& g_module = TargetModule::get_global_target_module();
255 void* func = g_module.get_cv_kernel(kern_name);
256 return proxy_cv_kernel(tensors, runner, func, benchmark_option, output_idx);
257}
258
259void gen_kernel_cv(
260 std::vector<const KernelGen::KernelFunc*>& kernels, TContext* ctx,

Callers

nothing calls this directly

Calls 4

proxy_cv_kernelFunction · 0.85
get_cv_kernelMethod · 0.80
IsCVAvailableMethod · 0.45
GetCVKernelSymbolMethod · 0.45

Tested by

no test coverage detected