MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / TEST

Function TEST

test/cpp/phi/core/test_custom_kernel.cc:111–298  ·  view source on GitHub ↗

Upper code will store dot kernels info into OpKernelInfoMap

Source from the content-addressed store, hash-verified

109
110// Upper code will store dot kernels info into OpKernelInfoMap
111TEST(CustomKernel, custom_kernel_dot) {
112 std::string op_name = "fake_dot";
113 phi::Backend backend = phi::Backend::CPU;
114 phi::DataLayout layout = phi::DataLayout::ALL_LAYOUT;
115
116 // 1.custom kernel info parsed and store
117 EXPECT_TRUE(phi::CustomKernelMap::Instance().GetMap().find(op_name) !=
118 phi::CustomKernelMap::Instance().GetMap().end());
119
120 auto& custom_kernels = phi::CustomKernelMap::Instance().Kernels();
121 // 2.info check
122 EXPECT_EQ(6, static_cast<int>(custom_kernels[op_name].size()));
123 auto& custom_fake_dot_kernels = custom_kernels[op_name];
124 EXPECT_TRUE(custom_fake_dot_kernels.find(
125 phi::KernelKey(backend, layout, phi::DataType::FLOAT32)) !=
126 custom_fake_dot_kernels.end());
127 EXPECT_TRUE(custom_fake_dot_kernels.find(
128 phi::KernelKey(backend, layout, phi::DataType::FLOAT64)) !=
129 custom_fake_dot_kernels.end());
130 EXPECT_TRUE(custom_fake_dot_kernels.find(
131 phi::KernelKey(backend, layout, phi::DataType::INT32)) !=
132 custom_fake_dot_kernels.end());
133 EXPECT_TRUE(custom_fake_dot_kernels.find(
134 phi::KernelKey(backend, layout, phi::DataType::INT64)) !=
135 custom_fake_dot_kernels.end());
136 EXPECT_TRUE(custom_fake_dot_kernels.find(
137 phi::KernelKey(backend, layout, phi::DataType::INT8)) !=
138 custom_fake_dot_kernels.end());
139 EXPECT_TRUE(custom_fake_dot_kernels.find(
140 phi::KernelKey(backend, layout, phi::DataType::UINT8)) !=
141 custom_fake_dot_kernels.end());
142
143 // 3.before register
144 auto& kernels = phi::KernelFactory::Instance().kernels();
145 EXPECT_TRUE(kernels.find(op_name) == kernels.end());
146
147 // mock fake_dot is supported by phi for check while registering
148 auto& fake_dot_kernels = kernels[op_name];
149
150 EXPECT_TRUE(fake_dot_kernels.find(
151 phi::KernelKey(backend, layout, phi::DataType::FLOAT32)) ==
152 fake_dot_kernels.end());
153 EXPECT_TRUE(fake_dot_kernels.find(
154 phi::KernelKey(backend, layout, phi::DataType::FLOAT64)) ==
155 fake_dot_kernels.end());
156 EXPECT_TRUE(fake_dot_kernels.find(
157 phi::KernelKey(backend, layout, phi::DataType::INT32)) ==
158 fake_dot_kernels.end());
159 EXPECT_TRUE(fake_dot_kernels.find(
160 phi::KernelKey(backend, layout, phi::DataType::INT64)) ==
161 fake_dot_kernels.end());
162 EXPECT_TRUE(fake_dot_kernels.find(
163 phi::KernelKey(backend, layout, phi::DataType::INT8)) ==
164 fake_dot_kernels.end());
165 EXPECT_TRUE(fake_dot_kernels.find(
166 phi::KernelKey(backend, layout, phi::DataType::UINT8)) ==
167 fake_dot_kernels.end());
168

Callers

nothing calls this directly

Calls 15

InstanceFunction · 0.85
make_ddimFunction · 0.85
DotInferMetaFunction · 0.85
RegisterCustomKernelsMethod · 0.80
AssignInputRangeMethod · 0.80
AssignOutputRangeMethod · 0.80
KernelKeyClass · 0.50
CPUPlaceClass · 0.50
KernelContextClass · 0.50

Tested by

no test coverage detected