Add cuda dot and unitest.
This commit is contained in:
@@ -771,4 +771,24 @@ TEST_F(Function2D_Cuda_Test, inv) {
|
||||
{
|
||||
EXPECT_FLOAT_AE(result1[i], result2[i]);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Function2D_Cuda_Test, dot) {
|
||||
auto matrixHost1 = Aurora::Matrix::fromRawData(new float[200000], 1000,200);
|
||||
auto matrixHost2 = Aurora::Matrix::fromRawData(new float[200000], 1000,200);
|
||||
for(unsigned int i=0; i<200000;++i)
|
||||
{
|
||||
matrixHost1[i] = i;
|
||||
matrixHost2[i] = i + 1;
|
||||
}
|
||||
auto matrixDevice1 = matrixHost1.toDeviceMatrix();
|
||||
Aurora::CudaMatrix matrixDevice2 = matrixHost2.toDeviceMatrix();
|
||||
auto result1 = Aurora::dot(matrixHost1, matrixHost2);
|
||||
auto result2 = Aurora::dot(matrixDevice1, matrixDevice2).toHostMatrix();
|
||||
std::cout<< result1.getDataSize();
|
||||
ASSERT_FLOAT_EQ(result1.getDataSize(), result2.getDataSize());
|
||||
for (size_t i = 0; i < result1.getDataSize(); i++)
|
||||
{
|
||||
EXPECT_FLOAT_AE(result1[i], result2[i]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user