diff --git a/paddle/pten/core/device_context.h b/paddle/pten/core/device_context.h index 05753b531ff08e8600425aeddad5f80f8acaedcb..08f277732dcd1d5fa614f04e83446c53dc42c822 100644 --- a/paddle/pten/core/device_context.h +++ b/paddle/pten/core/device_context.h @@ -99,9 +99,7 @@ class DeviceContext { /** * @brief Allocate device memory for tensor. */ - void* Alloc(TensorBase*, - DataType dtype = DataType::UNDEFINED, - size_t requested_size = 0) const; + void* Alloc(TensorBase*, DataType dtype, size_t requested_size = 0) const; template T* Alloc(TensorBase* tensor, size_t requested_size = 0) const; @@ -110,7 +108,7 @@ class DeviceContext { * @brief Allocate host memory for tensor. */ void* HostAlloc(TensorBase* tensor, - DataType dtype = DataType::UNDEFINED, + DataType dtype, size_t requested_size = 0) const; template diff --git a/paddle/pten/kernels/cpu/copy_kernel.cc b/paddle/pten/kernels/cpu/copy_kernel.cc index 8df53c064a127b24938cad89bbef2889f67e5926..c70b4154a750d80c1f81cc230a20a77af1a9d880 100644 --- a/paddle/pten/kernels/cpu/copy_kernel.cc +++ b/paddle/pten/kernels/cpu/copy_kernel.cc @@ -37,7 +37,7 @@ void Copy(const Context& dev_ctx, << src_place; dst->Resize(src.dims()); - auto* dst_ptr = dev_ctx.Alloc(dst); + auto* dst_ptr = dev_ctx.Alloc(dst, src.dtype()); if (src_ptr == dst_ptr) { VLOG(3) << "Skip copy the same data async from " << src_place << " to " diff --git a/paddle/pten/kernels/cpu/split_kernel.cc b/paddle/pten/kernels/cpu/split_kernel.cc index 78fcdcb155cf23b146c1a44ccc9651b6506d1d4d..450f6ff8774bf9f7d93f57886f744fc7d315935e 100644 --- a/paddle/pten/kernels/cpu/split_kernel.cc +++ b/paddle/pten/kernels/cpu/split_kernel.cc @@ -44,7 +44,7 @@ void SplitKernel(const Context& dev_ctx, std::vector shape_refer; for (size_t j = 0; j < outs.size(); ++j) { - dev_ctx.Alloc(outs[j]); + dev_ctx.template Alloc(outs[j]); shape_refer.emplace_back(outs[j]); } diff --git a/paddle/pten/kernels/gpu/split_kernel.cu b/paddle/pten/kernels/gpu/split_kernel.cu index 46d18b75b611b7acad8155b0d6bbed7b015a23c9..747acfcfefc109d2aba31c03fbe8cd8753bd37ac 100644 --- a/paddle/pten/kernels/gpu/split_kernel.cu +++ b/paddle/pten/kernels/gpu/split_kernel.cu @@ -43,7 +43,7 @@ void SplitKernel(const Context& dev_ctx, std::vector shape_refer; for (size_t j = 0; j < outs.size(); ++j) { - dev_ctx.Alloc(outs[j]); + dev_ctx.template Alloc(outs[j]); shape_refer.emplace_back(outs[j]); } diff --git a/paddle/pten/kernels/reshape_kernel.cc b/paddle/pten/kernels/reshape_kernel.cc index c52d251582bb508d5c47407d22c25137999c4182..a11442ce166fb53f66c7c90b1a558fda66bde135 100644 --- a/paddle/pten/kernels/reshape_kernel.cc +++ b/paddle/pten/kernels/reshape_kernel.cc @@ -29,10 +29,10 @@ void ReshapeKernel(const Context& dev_ctx, MetaTensor meta_out(out); InferMetaFromVecValue(x, shape.GetData(), &meta_out); if (x.initialized() && x.Holder() == out->Holder()) { - dev_ctx.Alloc(out); + dev_ctx.Alloc(out, x.dtype()); return; } - dev_ctx.Alloc(out); + dev_ctx.Alloc(out, x.dtype()); // TODO(chenweihang): the output dims are overwrite after copying, // here we need to use copy method that only copy data auto dims = out->dims(); diff --git a/paddle/pten/kernels/xpu/copy_kernel.cc b/paddle/pten/kernels/xpu/copy_kernel.cc index fa0331f24ddb77cf52208bf69ae33f8b7296d7ad..af49b2eb6f0d06eebd2d2f04172b33123a2ecdad 100644 --- a/paddle/pten/kernels/xpu/copy_kernel.cc +++ b/paddle/pten/kernels/xpu/copy_kernel.cc @@ -30,7 +30,7 @@ void Copy(const Context& dev_ctx, bool blocking, DenseTensor* dst) { auto* src_ptr = src.data(); - auto* dst_ptr = dev_ctx.Alloc(dst); + auto* dst_ptr = dev_ctx.Alloc(dst, src.dtype()); const auto& src_place = src.place(); const auto& dst_place = dst->place();