MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/lite/delegates/gpu/gl/serialization_test.cc:156–204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

154}
155
156TEST(Smoke, Read) {
157 std::string shader1 = "A";
158 std::string shader2 = "B";
159
160 SerializedCompiledModelBuilder builder;
161 builder.AddShader(shader1);
162 builder.AddShader(shader2);
163
164 std::vector<Variable> parameters;
165 parameters.push_back({"1", int32_t(1)});
166 parameters.push_back({"2", int2(1, 2)});
167 parameters.push_back({"3", int4(1, 2, 3, 4)});
168 parameters.push_back({"4", uint32_t(10)});
169 parameters.push_back({"5", uint4(10, 20, 30, 40)});
170 parameters.push_back({"6", -2.0f});
171 parameters.push_back({"7", float2(1, -1)});
172 parameters.push_back({"8", float4(1, -1, 2, -2)});
173 parameters.push_back(
174 {"9", std::vector<int2>{int2(1, 2), int2(3, 4), int2(5, 6)}});
175
176 std::vector<Object> objects;
177 objects.push_back(MakeReadonlyBuffer(std::vector<float>{1, 2, 3, 4}));
178 objects.push_back(Object{AccessType::WRITE, DataType::FLOAT32,
179 ObjectType::TEXTURE, 5, uint3(1, 2, 3), 100});
180 objects.push_back(Object{AccessType::READ_WRITE, DataType::INT8,
181 ObjectType::BUFFER, 6, uint2(2, 1),
182 std::vector<uint8_t>{7, 9}});
183 uint3 num_workgroups(10, 20, 30);
184 uint3 workgroup_size(1, 2, 3);
185 builder.AddProgram(parameters, objects, workgroup_size, num_workgroups, 1);
186
187 Handler handler;
188 CompiledModelOptions options;
189 options.dynamic_batch = true;
190 ASSERT_TRUE(
191 DeserializeCompiledModel(builder.Finalize(options), &handler).ok());
192 EXPECT_EQ(num_workgroups.data_, handler.programs[0].num_workgroups.data_);
193 EXPECT_EQ(workgroup_size.data_, handler.programs[0].workgroup_size.data_);
194 EXPECT_THAT(handler.shaders, ::testing::ElementsAre(shader1, shader2));
195 EXPECT_EQ(handler.programs[0].parameters.size(), parameters.size());
196 for (int i = 0; i < parameters.size(); ++i) {
197 EXPECT_TRUE(Eq(parameters[i], handler.programs[0].parameters[i])) << i;
198 }
199 EXPECT_EQ(handler.programs[0].objects.size(), objects.size());
200 for (int i = 0; i < objects.size(); ++i) {
201 EXPECT_TRUE(Eq(objects[i], handler.programs[0].objects[i])) << i;
202 }
203 EXPECT_TRUE(handler.options.dynamic_batch);
204}
205
206} // namespace
207} // namespace gl

Callers

nothing calls this directly

Calls 9

MakeReadonlyBufferFunction · 0.85
DeserializeCompiledModelFunction · 0.85
AddShaderMethod · 0.80
EqFunction · 0.70
push_backMethod · 0.45
AddProgramMethod · 0.45
okMethod · 0.45
FinalizeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected