From f28e01dd3b6ee7985ef0814f6a6f493cad16db77 Mon Sep 17 00:00:00 2001 From: zhiqiu Date: Tue, 16 Nov 2021 08:46:04 +0000 Subject: [PATCH 1/2] copy beta pow to same place when skip_update=1 --- paddle/fluid/operators/optimizers/adam_op.cu | 4 ++-- paddle/fluid/operators/optimizers/adam_op_npu.cc | 4 ++-- paddle/fluid/operators/optimizers/adam_op_xpu.cc | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/paddle/fluid/operators/optimizers/adam_op.cu b/paddle/fluid/operators/optimizers/adam_op.cu index 5c30962cca8259..57231e1135a6a9 100644 --- a/paddle/fluid/operators/optimizers/adam_op.cu +++ b/paddle/fluid/operators/optimizers/adam_op.cu @@ -198,11 +198,11 @@ class AdamOpCUDAKernel : public framework::OpKernel { *mom2, ctx.GetPlace(), ctx.template device_context(), mom2_out); framework::TensorCopy( - *beta1_pow, ctx.GetPlace(), + *beta1_pow, beta1_pow->place(), ctx.template device_context(), beta1_pow_out); framework::TensorCopy( - *beta2_pow, ctx.GetPlace(), + *beta2_pow, beta2_pow->place(), ctx.template device_context(), beta2_pow_out); return; diff --git a/paddle/fluid/operators/optimizers/adam_op_npu.cc b/paddle/fluid/operators/optimizers/adam_op_npu.cc index 1169bc12ac230c..91bb9d48bc7869 100644 --- a/paddle/fluid/operators/optimizers/adam_op_npu.cc +++ b/paddle/fluid/operators/optimizers/adam_op_npu.cc @@ -84,11 +84,11 @@ class AdamNPUKernel : public framework::OpKernel { *mom2, ctx.GetPlace(), ctx.template device_context(), mom2_out); framework::TensorCopy( - *beta1_pow, ctx.GetPlace(), + *beta1_pow, beta1_pow->place(), ctx.template device_context(), beta1_pow_out); framework::TensorCopy( - *beta2_pow, ctx.GetPlace(), + *beta2_pow, beta2_pow->place(), ctx.template device_context(), beta2_pow_out); return; diff --git a/paddle/fluid/operators/optimizers/adam_op_xpu.cc b/paddle/fluid/operators/optimizers/adam_op_xpu.cc index 318a8f1493010a..1991c642fc4713 100644 --- a/paddle/fluid/operators/optimizers/adam_op_xpu.cc +++ b/paddle/fluid/operators/optimizers/adam_op_xpu.cc @@ -86,11 +86,11 @@ class AdamOpXPUKernel : public framework::OpKernel { mom2, ctx.GetPlace(), ctx.template device_context(), &mom2_out); framework::TensorCopy( - beta1_pow, ctx.GetPlace(), + *beta1_pow, beta1_pow->place(), ctx.template device_context(), beta1_pow_out); framework::TensorCopy( - beta2_pow, ctx.GetPlace(), + *beta2_pow, beta2_pow->place(), ctx.template device_context(), beta2_pow_out); return; From eedf679a67cf6417e642af1ba098845dea5c9b45 Mon Sep 17 00:00:00 2001 From: zhiqiu Date: Tue, 16 Nov 2021 10:19:43 +0000 Subject: [PATCH 2/2] fix xpu --- paddle/fluid/operators/optimizers/adam_op_xpu.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paddle/fluid/operators/optimizers/adam_op_xpu.cc b/paddle/fluid/operators/optimizers/adam_op_xpu.cc index 1991c642fc4713..cb06b06824be15 100644 --- a/paddle/fluid/operators/optimizers/adam_op_xpu.cc +++ b/paddle/fluid/operators/optimizers/adam_op_xpu.cc @@ -86,11 +86,11 @@ class AdamOpXPUKernel : public framework::OpKernel { mom2, ctx.GetPlace(), ctx.template device_context(), &mom2_out); framework::TensorCopy( - *beta1_pow, beta1_pow->place(), + beta1_pow, beta1_pow.place(), ctx.template device_context(), beta1_pow_out); framework::TensorCopy( - *beta2_pow, beta2_pow->place(), + beta2_pow, beta2_pow.place(), ctx.template device_context(), beta2_pow_out); return;