|
|
|
@ -41,6 +41,11 @@ TEST(TensorCopy, Tensor) {
|
|
|
|
|
EXPECT_EQ(src_ptr[i], dst_ptr[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TensorCopy(dst_tensor, *cpu_place, &dst_tensor);
|
|
|
|
|
for (size_t i = 0; i < 9; ++i) {
|
|
|
|
|
EXPECT_EQ(src_ptr[i], dst_ptr[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EXPECT_TRUE(dst_tensor.layout() == src_tensor.layout());
|
|
|
|
|
|
|
|
|
|
Tensor slice_tensor = src_tensor.Slice(1, 2);
|
|
|
|
@ -82,6 +87,15 @@ TEST(TensorCopy, Tensor) {
|
|
|
|
|
EXPECT_EQ(src_ptr[i], dst_ptr[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Copy the same tensor
|
|
|
|
|
TensorCopy(gpu_tensor, *gpu_place, gpu_ctx, &gpu_tensor);
|
|
|
|
|
gpu_ctx.Wait();
|
|
|
|
|
const int* dst_ptr_tmp = dst_tensor.data<int>();
|
|
|
|
|
EXPECT_NE(src_ptr, dst_ptr_tmp);
|
|
|
|
|
for (size_t i = 0; i < 9; ++i) {
|
|
|
|
|
EXPECT_EQ(src_ptr[i], dst_ptr_tmp[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Tensor slice_tensor = src_tensor.Slice(1, 2);
|
|
|
|
|
|
|
|
|
|
// CPU Slice Tensor to GPU Tensor
|
|
|
|
|