Add cuda immse, sortrows and unitest.
This commit is contained in:
@@ -613,4 +613,36 @@ TEST_F(Function2D_Cuda_Test, sort)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Cuda_Test, immse) {
|
||||
auto matrixHost1 = Aurora::Matrix::fromRawData(Aurora::random(10000), 50,200);
|
||||
auto matrixHost2 = Aurora::Matrix::fromRawData(Aurora::random(10000), 50,200);
|
||||
auto matrixDevice1 = matrixHost1.toDeviceMatrix();
|
||||
auto matrixDevice2 = matrixHost1.toDeviceMatrix();
|
||||
auto result1 = Aurora::immse(matrixHost1, matrixHost2);
|
||||
auto result2 = Aurora::immse(matrixDevice1, matrixDevice2);
|
||||
EXPECT_FLOAT_AE(result1, result2);
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Cuda_Test, sortRows) {
|
||||
auto matrixHost1 = Aurora::Matrix::fromRawData(Aurora::random(10000), 50,200);
|
||||
Aurora::Matrix matrixHost2;
|
||||
auto matrixDevice1 = matrixHost1.toDeviceMatrix();
|
||||
Aurora::CudaMatrix matrixDevice2;
|
||||
auto result1 = Aurora::sortrows(matrixHost1, &matrixHost2);
|
||||
auto result2 = Aurora::sortrows(matrixDevice1, matrixDevice2).toHostMatrix();
|
||||
auto result3 = matrixHost2;
|
||||
auto result4 = matrixDevice2.toHostMatrix();
|
||||
ASSERT_FLOAT_EQ(result1.getDataSize(), result2.getDataSize());
|
||||
for (size_t i = 0; i < result1.getDataSize(); i++)
|
||||
{
|
||||
ASSERT_FLOAT_EQ(result1[i], result2[i]);
|
||||
}
|
||||
|
||||
ASSERT_FLOAT_EQ(result3.getDataSize(), result4.getDataSize());
|
||||
for (size_t i = 0; i < result3.getDataSize(); i++)
|
||||
{
|
||||
ASSERT_FLOAT_EQ(result3[i], result4[i]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user