|
|
|
@ -123,14 +123,15 @@ bool KernelRegistry::Merge(const std::unordered_map<KernelKey, KernelCreator> &n
|
|
|
|
|
const kernel::KernelCreator *KernelRegistry::GetCreatorArrays() { return creator_arrays_; }
|
|
|
|
|
|
|
|
|
|
kernel::LiteKernel *KernelRegistry::GetKernel(const std::vector<tensor::Tensor *> &in_tensors,
|
|
|
|
|
const std::vector<tensor::Tensor *> &out_tensors,
|
|
|
|
|
const PrimitiveC *primitive, const Context *ctx,
|
|
|
|
|
const kernel::KernelKey &key) {
|
|
|
|
|
const std::vector<tensor::Tensor *> &out_tensors,
|
|
|
|
|
const PrimitiveC *primitive, const Context *ctx,
|
|
|
|
|
const kernel::KernelKey &key) {
|
|
|
|
|
MS_EXCEPTION_IF_NULL(primitive);
|
|
|
|
|
MS_EXCEPTION_IF_NULL(ctx);
|
|
|
|
|
auto parameter = kernel::PopulateParameter(primitive);
|
|
|
|
|
if (parameter == nullptr) {
|
|
|
|
|
MS_LOG(ERROR) << "PopulateParameter return nullptr, type: " << primitive->Type();
|
|
|
|
|
MS_LOG(ERROR) << "PopulateParameter return nullptr, type: "
|
|
|
|
|
<< schema::EnumNamePrimitiveType((schema::PrimitiveType)primitive->Type());
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
auto creator = GetCreator(key);
|
|
|
|
|