|
|
|
@@ -45,6 +45,9 @@ class KernelRegistry { |
|
|
|
int GetKernel(const std::vector<Tensor *> &in_tensors, const std::vector<Tensor *> &out_tensors, |
|
|
|
const InnerContext *ctx, const kernel::KernelKey &key, OpParameter *op_parameter, |
|
|
|
kernel::LiteKernel **kernel); |
|
|
|
#ifdef MS_COMPILE_IOS |
|
|
|
void RegisterAllKernels(); |
|
|
|
#endif |
|
|
|
|
|
|
|
protected: |
|
|
|
static const int device_type_length_{kKernelArch_MAX - kKernelArch_MIN + 1}; |
|
|
|
@@ -70,8 +73,15 @@ class KernelRegistrar { |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
#ifdef MS_COMPILE_IOS |
|
|
|
#define REG_KERNEL(arch, data_type, op_type, kernelCreater) \ |
|
|
|
void _##arch##data_type##op_type() { \ |
|
|
|
lite::KernelRegistry::GetInstance()->RegKernel(arch, data_type, op_type, kernelCreater); \ |
|
|
|
} |
|
|
|
#else |
|
|
|
#define REG_KERNEL(arch, data_type, op_type, kernelCreater) \ |
|
|
|
static KernelRegistrar g_##arch##data_type##op_type##kernelReg(arch, data_type, op_type, kernelCreater); |
|
|
|
#endif |
|
|
|
} // namespace mindspore::lite |
|
|
|
|
|
|
|
#endif // MINDSPORE_LITE_SRC_KERNEL_REGISTRY_H_ |