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

Class AllGICommonKernel

compiler/lib/KernelGen/GeneralIntrinsic/KernelPack.cpp:24–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22using namespace GeneralIntrinsic;
23namespace {
24struct AllGICommonKernel {
25 AllGICommonKernel() {
26 inner_map[KernelPack::KernType::ElemwiseKernel] = {
27 std::make_shared<GeneralIntrinsic::ElemwiseKernel>()};
28 inner_map[KernelPack::KernType::MatrixMulKernel] = {
29 std::make_shared<GeneralIntrinsic::Fp16GevmKernel>(),
30 std::make_shared<GeneralIntrinsic::Fp16GemvKernel>(),
31 std::make_shared<GeneralIntrinsic::Fp16MatMulM8N8K8>(),
32 std::make_shared<GeneralIntrinsic::Fp32MatMulM4N8K4>(),
33 std::make_shared<GeneralIntrinsic::Fp32GevmKernel>(),
34 std::make_shared<GeneralIntrinsic::Fp32GemvKernel>(),
35 std::make_shared<GeneralIntrinsic::Fp32GemvMk4Kernel>(),
36 std::make_shared<GeneralIntrinsic::Fp32MatMulM4N12>(),
37 std::make_shared<GeneralIntrinsic::Fp32MatMulM4N12K4>()};
38
39 inner_map[KernelPack::KernType::InternelKernel] = {
40 std::make_shared<GeneralIntrinsic::MatmulM4N8MK4Kernel>(),
41 std::make_shared<GeneralIntrinsic::MatmulM4N12Kernel>(),
42 std::make_shared<GeneralIntrinsic::MatmulM4N12MK4Kernel>()};
43 inner_map[KernelPack::KernType::ConvKernel] = {
44 std::make_shared<GeneralIntrinsic::Conv1x1Float16MK8>(),
45 std::make_shared<GeneralIntrinsic::ChannelWiseFloat16Mk8>(),
46 std::make_shared<GeneralIntrinsic::ConvFloat16NCHWNCHW88>(),
47 std::make_shared<GeneralIntrinsic::WinogradFp16F63NCHW88>(),
48 std::make_shared<GeneralIntrinsic::WinogradFp16F43NCHW88>(),
49 std::make_shared<GeneralIntrinsic::WinogradFp16F23NCHW88>(),
50 std::make_shared<GeneralIntrinsic::ConvIm2colFloat16M8N8>(),
51 std::make_shared<GeneralIntrinsic::Conv1x1FloatMk4>(),
52 std::make_shared<GeneralIntrinsic::ChannelWiseFloatMk4>(),
53 std::make_shared<GeneralIntrinsic::ConvFloatNCHWNCHW44>(),
54 std::make_shared<GeneralIntrinsic::WinogradFloatF63NCHW44>(),
55 std::make_shared<GeneralIntrinsic::WinogradFloatF43NCHW44>(),
56 std::make_shared<GeneralIntrinsic::WinogradFloatF23NCHW44>(),
57 std::make_shared<GeneralIntrinsic::ConvIm2colFloat>(),
58 std::make_shared<GeneralIntrinsic::ConvIm2colFloatM4N8>(),
59
60 };
61
62 inner_map[KernelPack::KernType::ConvBackDataKernel] = {
63 std::make_shared<GeneralIntrinsic::Float32NchwBackward>()};
64
65 inner_map[KernelPack::KernType::PoolingKernel] = {
66 std::make_shared<GeneralIntrinsic::PoolingNchw88Fp16>(),
67 std::make_shared<GeneralIntrinsic::PoolingNchw44Fp32>(),
68 std::make_shared<GeneralIntrinsic::PoolingNchw44QInt8>()};
69
70 inner_map[KernelPack::KernType::TypeCvtKernel] = {
71 std::make_shared<GeneralIntrinsic::TypecvtKernel>()};
72
73 inner_map[KernelPack::KernType::ReduceKernel] = {
74 std::make_shared<GeneralIntrinsic::ReduceKernel>()};
75
76 inner_map[KernelPack::KernType::FlipKernel] = {
77 std::make_shared<GeneralIntrinsic::FlipKernel>()};
78
79 inner_map[KernelPack::KernType::ResizeKernel] = {
80 std::make_shared<GeneralIntrinsic::ResizeKernel>()};
81

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected