Skip to content

Commit

Permalink
[Fluid] NO.4 Migrate c_split to PHI (PaddlePaddle#56327)
Browse files Browse the repository at this point in the history
  • Loading branch information
BeingGod committed Sep 9, 2023
1 parent 70add9d commit 44ba8fb
Show file tree
Hide file tree
Showing 9 changed files with 319 additions and 240 deletions.
10 changes: 0 additions & 10 deletions paddle/fluid/operators/collective/c_split_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,3 @@ REGISTER_OPERATOR(c_split,
ops::CSplitOpGradMaker<paddle::framework::OpDesc>,
ops::CSplitOpGradMaker<paddle::imperative::OpBase>,
ops::CSplitOpMaker);

PD_REGISTER_STRUCT_KERNEL(c_split,
CPU,
ALL_LAYOUT,
ops::CSplitOpCPUKernel,
float,
double,
int,
int64_t,
plat::float16) {}
130 changes: 0 additions & 130 deletions paddle/fluid/operators/collective/c_split_op.cu

This file was deleted.

5 changes: 1 addition & 4 deletions paddle/fluid/operators/collective/c_split_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,7 @@ namespace operators {
template <typename T, typename DeviceContext>
class CSplitOpCPUKernel : public framework::OpKernel<T> {
public:
void Compute(const framework::ExecutionContext& ctx UNUSED) const override {
PADDLE_THROW(platform::errors::Unavailable(
"Do not support c_split for cpu kernel now."));
}
void Compute(const framework::ExecutionContext& ctx UNUSED) const override {}
};

} // namespace operators
Expand Down
96 changes: 0 additions & 96 deletions paddle/fluid/operators/collective/c_split_op_xpu.cc

This file was deleted.

31 changes: 31 additions & 0 deletions paddle/phi/kernels/c_split_kernel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once

#include "paddle/phi/core/dense_tensor.h"

namespace phi {

template <typename T, typename Context>
void CSplitKernel(const Context& ctx,
const DenseTensor& x,
int rank,
int nranks,
int ring_id,
bool use_calc_stream,
bool use_model_parallel,
DenseTensor* out);

} // namespace phi
43 changes: 43 additions & 0 deletions paddle/phi/kernels/cpu/c_split_kernel.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "paddle/phi/kernels/c_split_kernel.h"

#include "paddle/phi/core/kernel_registry.h"

namespace phi {

template <typename T, typename Context>
void CSplitKernel(const Context& ctx,
const DenseTensor& x,
int rank,
int nranks,
int ring_id,
bool use_calc_stream,
bool use_model_parallel,
DenseTensor* out) {
PADDLE_THROW(
phi::errors::Unavailable("Do not support c_split for cpu kernel now."));
}
} // namespace phi

PD_REGISTER_KERNEL(c_split,
CPU,
ALL_LAYOUT,
phi::CSplitKernel,
float,
double,
int,
int64_t,
phi::dtype::float16) {}
Loading

0 comments on commit 44ba8fb

Please sign in to comment.