Add cuda inv and unittest.

This commit is contained in:
sunwen
2023-12-08 11:30:10 +08:00
parent 42ecc66106
commit 57fc2219ce
3 changed files with 76 additions and 0 deletions

View File

@@ -645,4 +645,16 @@ TEST_F(Function2D_Cuda_Test, sortRows) {
{
ASSERT_FLOAT_EQ(result3[i], result4[i]);
}
}
TEST_F(Function2D_Cuda_Test, inv) {
auto matrixHost = Aurora::Matrix::fromRawData(new float[16]{4,6,7,8,9,3,7,5,4,3,2,1,2,3,4,5}, 4,4);
auto matrixDevice = matrixHost.toDeviceMatrix();
auto result1 = Aurora::inv(matrixHost);
auto result2 = Aurora::inv(matrixDevice).toHostMatrix();
ASSERT_FLOAT_EQ(result1.getDataSize(), result2.getDataSize());
for (size_t i = 0; i < result1.getDataSize(); i++)
{
EXPECT_FLOAT_AE(result1[i], result2[i]);
}
}