From 409c455d8c02a5d4752cb17d6cb52088174453f2 Mon Sep 17 00:00:00 2001 From: ScheissSchiesser <9285100+ScheissSchiesser@users.noreply.github.com> Date: Sat, 9 Apr 2022 11:37:51 -0400 Subject: [PATCH 1/2] Fix TestDestroy.TestDestroyTensorSingle by first syncing the tensor data to the device Signed-off-by: ScheissSchiesser <9285100+ScheissSchiesser@users.noreply.github.com> --- test/TestDestroy.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/test/TestDestroy.cpp b/test/TestDestroy.cpp index 1e87f25b3..01a0e6c78 100644 --- a/test/TestDestroy.cpp +++ b/test/TestDestroy.cpp @@ -27,17 +27,27 @@ TEST(TestDestroy, TestDestroyTensorSingle) { kp::Manager mgr; - tensorA = mgr.tensor({ 0, 0, 0 }); + const std::vector initialValues = {0.0f, 0.0f, 0.0f}; + + tensorA = mgr.tensor(initialValues); std::shared_ptr algo = - mgr.algorithm({ tensorA }, spirv); + mgr.algorithm({tensorA}, spirv); + + // Sync values to and from device + mgr.sequence() + ->eval(algo->getTensors()) + ->eval(algo->getTensors()); + + EXPECT_EQ(tensorA->vector(), initialValues); mgr.sequence() ->record(algo) ->eval() ->eval(algo->getTensors()); - EXPECT_EQ(tensorA->vector(), std::vector({ 1, 1, 1 })); + const std::vector expectedFinalValues = {1.0f, 1.0f, 1.0f}; + EXPECT_EQ(tensorA->vector(), expectedFinalValues); tensorA->destroy(); EXPECT_FALSE(tensorA->isInit()); From 54baa18de9453f4e126beb90f1861f21b23b08ed Mon Sep 17 00:00:00 2001 From: ScheissSchiesser <9285100+ScheissSchiesser@users.noreply.github.com> Date: Tue, 12 Apr 2022 00:19:38 -0400 Subject: [PATCH 2/2] Remove redundant SyncLocal operation Signed-off-by: ScheissSchiesser <9285100+ScheissSchiesser@users.noreply.github.com> --- test/TestDestroy.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/TestDestroy.cpp b/test/TestDestroy.cpp index 01a0e6c78..ba3052631 100644 --- a/test/TestDestroy.cpp +++ b/test/TestDestroy.cpp @@ -36,8 +36,7 @@ TEST(TestDestroy, TestDestroyTensorSingle) // Sync values to and from device mgr.sequence() - ->eval(algo->getTensors()) - ->eval(algo->getTensors()); + ->eval(algo->getTensors()); EXPECT_EQ(tensorA->vector(), initialValues);