Updated OpAlgoBase to not copy data as optensorsync operations are introduced

This commit is contained in:
Alejandro Saucedo
2020-09-12 09:14:35 +01:00
parent 4171786b6f
commit 9f8508075a
10 changed files with 92 additions and 180 deletions

View File

@@ -29,9 +29,10 @@ TEST(TestOpAlgoBase, ShaderRawDataFromConstructor) {
mgr.evalOpDefault<kp::OpAlgoBase<>>(
{ tensorA, tensorB },
true, // Whether to copy output from device
std::vector<char>(shader.begin(), shader.end()));
mgr.evalOpDefault<kp::OpTensorSyncLocal>({tensorA, tensorB});
EXPECT_EQ(tensorA->data(), std::vector<float>({0, 1, 2}));
EXPECT_EQ(tensorB->data(), std::vector<float>({3, 4, 5}));
}
@@ -45,12 +46,13 @@ TEST(TestOpAlgoBase, ShaderCompiledDataFromConstructor) {
mgr.evalOpDefault<kp::OpAlgoBase<>>(
{ tensorA, tensorB },
true, // Whether to copy output from device
std::vector<char>(
kp::shader_data::test_shaders_glsl_test_op_custom_shader_comp_spv,
kp::shader_data::test_shaders_glsl_test_op_custom_shader_comp_spv +
kp::shader_data::test_shaders_glsl_test_op_custom_shader_comp_spv_len));
mgr.evalOpDefault<kp::OpTensorSyncLocal>({tensorA, tensorB});
EXPECT_EQ(tensorA->data(), std::vector<float>({0, 1, 2}));
EXPECT_EQ(tensorB->data(), std::vector<float>({3, 4, 5}));
}
@@ -64,9 +66,10 @@ TEST(TestOpAlgoBase, ShaderRawDataFromFile) {
mgr.evalOpDefault<kp::OpAlgoBase<>>(
{ tensorA, tensorB },
true, // Whether to copy output from device
"test/shaders/glsl/test_op_custom_shader.comp");
mgr.evalOpDefault<kp::OpTensorSyncLocal>({tensorA, tensorB});
EXPECT_EQ(tensorA->data(), std::vector<float>({0, 1, 2}));
EXPECT_EQ(tensorB->data(), std::vector<float>({3, 4, 5}));
}
@@ -80,9 +83,10 @@ TEST(TestOpAlgoBase, ShaderCompiledDataFromFile) {
mgr.evalOpDefault<kp::OpAlgoBase<>>(
{ tensorA, tensorB },
true, // Whether to copy output from device
"test/shaders/glsl/test_op_custom_shader.comp.spv");
mgr.evalOpDefault<kp::OpTensorSyncLocal>({tensorA, tensorB});
EXPECT_EQ(tensorA->data(), std::vector<float>({0, 1, 2}));
EXPECT_EQ(tensorB->data(), std::vector<float>({3, 4, 5}));
}