Updated formatting
Signed-off-by: Alejandro Saucedo <axsauze@gmail.com>
This commit is contained in:
parent
5308141d0e
commit
797ba87c2a
12 changed files with 161 additions and 112 deletions
|
|
@ -44,8 +44,10 @@ TEST(TestPushConstants, TestConstantsAlgoDispatchOverride)
|
|||
// We need to run this in sequence to avoid race condition
|
||||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<float>{ 0.1, 0.2, 0.3 });
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<float>{ 0.3, 0.2, 0.1 });
|
||||
sq->eval<kp::OpAlgoDispatch>(algo,
|
||||
std::vector<float>{ 0.1, 0.2, 0.3 });
|
||||
sq->eval<kp::OpAlgoDispatch>(algo,
|
||||
std::vector<float>{ 0.3, 0.2, 0.1 });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<float>({ 0.4, 0.4, 0.4 }));
|
||||
|
|
@ -90,7 +92,8 @@ TEST(TestPushConstants, TestConstantsAlgoDispatchNoOverride)
|
|||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo);
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<float>{ 0.3, 0.2, 0.1 });
|
||||
sq->eval<kp::OpAlgoDispatch>(algo,
|
||||
std::vector<float>{ 0.3, 0.2, 0.1 });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<float>({ 0.4, 0.4, 0.4 }));
|
||||
|
|
@ -156,22 +159,22 @@ TEST(TestPushConstants, TestConstantsWrongSize)
|
|||
// pa[1] += pcs.y;
|
||||
// pa[2] += pcs.z;
|
||||
// })");
|
||||
//
|
||||
//
|
||||
// std::vector<uint32_t> spirv = compileSource(shader);
|
||||
//
|
||||
//
|
||||
// std::shared_ptr<kp::Sequence> sq = nullptr;
|
||||
//
|
||||
//
|
||||
// {
|
||||
// kp::Manager mgr;
|
||||
//
|
||||
//
|
||||
// std::shared_ptr<kp::TensorT<float>> tensor =
|
||||
// mgr.tensor({ 0, 0, 0 });
|
||||
//
|
||||
//
|
||||
// std::shared_ptr<kp::Algorithm> algo = mgr.algorithm(
|
||||
// { tensor }, spirv, kp::Workgroup({ 1 }), {}, { 0.0 });
|
||||
//
|
||||
//
|
||||
// sq = mgr.sequence()->record<kp::OpTensorSyncDevice>({ tensor });
|
||||
//
|
||||
//
|
||||
// EXPECT_THROW(sq->record<kp::OpAlgoDispatch>(
|
||||
// algo, std::vector<uint32_t>{ 1, 2, 3 }),
|
||||
// std::runtime_error);
|
||||
|
|
@ -197,7 +200,8 @@ TEST(TestPushConstants, TestConstantsMixedTypes)
|
|||
pa[2] += pcs.z;
|
||||
})");
|
||||
|
||||
struct TestConsts{
|
||||
struct TestConsts
|
||||
{
|
||||
float x;
|
||||
uint32_t y;
|
||||
int32_t z;
|
||||
|
|
@ -213,16 +217,19 @@ TEST(TestPushConstants, TestConstantsMixedTypes)
|
|||
std::shared_ptr<kp::TensorT<float>> tensor =
|
||||
mgr.tensorT<float>({ 0, 0, 0 });
|
||||
|
||||
std::shared_ptr<kp::Algorithm> algo = mgr.algorithm<float, TestConsts>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, {{ 0, 0, 0 }});
|
||||
std::shared_ptr<kp::Algorithm> algo =
|
||||
mgr.algorithm<float, TestConsts>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, { { 0, 0, 0 } });
|
||||
|
||||
sq = mgr.sequence()->eval<kp::OpTensorSyncDevice>({ tensor });
|
||||
|
||||
// We need to run this in sequence to avoid race condition
|
||||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<TestConsts>{{ 15.32, 2147483650, 10 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<TestConsts>{{ 30.32, 2147483650, -3 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo, std::vector<TestConsts>{ { 15.32, 2147483650, 10 } });
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo, std::vector<TestConsts>{ { 30.32, 2147483650, -3 } });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<float>({ 45.64, 1300, 7 }));
|
||||
|
|
@ -258,16 +265,19 @@ TEST(TestPushConstants, TestConstantsInt)
|
|||
std::shared_ptr<kp::TensorT<int32_t>> tensor =
|
||||
mgr.tensorT<int32_t>({ -1, -1, -1 });
|
||||
|
||||
std::shared_ptr<kp::Algorithm> algo = mgr.algorithm<int32_t , int32_t>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, {{ 0, 0, 0 }});
|
||||
std::shared_ptr<kp::Algorithm> algo =
|
||||
mgr.algorithm<int32_t, int32_t>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, { { 0, 0, 0 } });
|
||||
|
||||
sq = mgr.sequence()->eval<kp::OpTensorSyncDevice>({ tensor });
|
||||
|
||||
// We need to run this in sequence to avoid race condition
|
||||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<int32_t>{{ -1, -1, -1 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<int32_t>{{ -1, -1, -1 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo, std::vector<int32_t>{ { -1, -1, -1 } });
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo, std::vector<int32_t>{ { -1, -1, -1 } });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<int32_t>({ -3, -3, -3 }));
|
||||
|
|
@ -303,19 +313,25 @@ TEST(TestPushConstants, TestConstantsUnsignedInt)
|
|||
std::shared_ptr<kp::TensorT<uint32_t>> tensor =
|
||||
mgr.tensorT<uint32_t>({ 0, 0, 0 });
|
||||
|
||||
std::shared_ptr<kp::Algorithm> algo = mgr.algorithm<uint32_t , uint32_t>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, {{ 0, 0, 0 }});
|
||||
std::shared_ptr<kp::Algorithm> algo =
|
||||
mgr.algorithm<uint32_t, uint32_t>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, { { 0, 0, 0 } });
|
||||
|
||||
sq = mgr.sequence()->eval<kp::OpTensorSyncDevice>({ tensor });
|
||||
|
||||
// We need to run this in sequence to avoid race condition
|
||||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<uint32_t>{{ 2147483650, 2147483650, 2147483650 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<uint32_t>{{ 5, 5, 5 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo,
|
||||
std::vector<uint32_t>{ { 2147483650, 2147483650, 2147483650 } });
|
||||
sq->eval<kp::OpAlgoDispatch>(algo,
|
||||
std::vector<uint32_t>{ { 5, 5, 5 } });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<uint32_t>({ 2147483655, 2147483655, 2147483655 }));
|
||||
EXPECT_EQ(
|
||||
tensor->vector(),
|
||||
std::vector<uint32_t>({ 2147483655, 2147483655, 2147483655 }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -349,18 +365,29 @@ TEST(TestPushConstants, TestConstantsDouble)
|
|||
mgr.tensorT<double>({ 0, 0, 0 });
|
||||
|
||||
std::shared_ptr<kp::Algorithm> algo = mgr.algorithm<double, double>(
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, {{ 0, 0, 0 }});
|
||||
{ tensor }, spirv, kp::Workgroup({ 1 }), {}, { { 0, 0, 0 } });
|
||||
|
||||
sq = mgr.sequence()->eval<kp::OpTensorSyncDevice>({ tensor });
|
||||
|
||||
// We need to run this in sequence to avoid race condition
|
||||
// We can't use atomicAdd as swiftshader doesn't support it for
|
||||
// float
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<double>{{ 1.1111222233334444, 2.1111222233334444, 3.1111222233334444 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(algo, std::vector<double>{{ 1.1111222233334444, 2.1111222233334444, 3.1111222233334444 }});
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo,
|
||||
std::vector<double>{ { 1.1111222233334444,
|
||||
2.1111222233334444,
|
||||
3.1111222233334444 } });
|
||||
sq->eval<kp::OpAlgoDispatch>(
|
||||
algo,
|
||||
std::vector<double>{ { 1.1111222233334444,
|
||||
2.1111222233334444,
|
||||
3.1111222233334444 } });
|
||||
sq->eval<kp::OpTensorSyncLocal>({ tensor });
|
||||
|
||||
EXPECT_EQ(tensor->vector(), std::vector<double>({ 2.2222444466668888, 4.2222444466668888, 6.2222444466668888 }));
|
||||
EXPECT_EQ(tensor->vector(),
|
||||
std::vector<double>({ 2.2222444466668888,
|
||||
4.2222444466668888,
|
||||
6.2222444466668888 }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue