From ec61add0d755074ab50510ecd8589322f350f0ea Mon Sep 17 00:00:00 2001 From: youge325 Date: Fri, 3 Oct 2025 20:23:52 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90CUDA=20Kernel=20No.24=E3=80=91ap=5Fvar?= =?UTF-8?q?iadic=E7=AE=97=E5=AD=90Kernel=E4=BF=AE=E5=A4=8D=20-part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- paddle/phi/kernels/gpu/ap_variadic_kernel.cu | 8 ++--- paddle/phi/kernels/gpu/ap_variadic_kernel.h | 38 ++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 paddle/phi/kernels/gpu/ap_variadic_kernel.h diff --git a/paddle/phi/kernels/gpu/ap_variadic_kernel.cu b/paddle/phi/kernels/gpu/ap_variadic_kernel.cu index 1985aae001c067..67549da15bb66d 100644 --- a/paddle/phi/kernels/gpu/ap_variadic_kernel.cu +++ b/paddle/phi/kernels/gpu/ap_variadic_kernel.cu @@ -12,15 +12,15 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "paddle/phi/kernels/gpu/ap_variadic_kernel.h" +#include "paddle/ap/include/axpr/data_type_util.h" +#include "paddle/ap/include/kernel_dispatch/ap_variadic_kernel.h" +#include "paddle/ap/include/paddle/phi/device_ctx.h" #include "paddle/common/enforce.h" #include "paddle/phi/backends/gpu/gpu_context.h" #include "paddle/phi/core/dense_tensor.h" #include "paddle/phi/core/kernel_registry.h" -#include "paddle/ap/include/axpr/data_type_util.h" -#include "paddle/ap/include/kernel_dispatch/ap_variadic_kernel.h" -#include "paddle/ap/include/paddle/phi/device_ctx.h" - namespace phi { template diff --git a/paddle/phi/kernels/gpu/ap_variadic_kernel.h b/paddle/phi/kernels/gpu/ap_variadic_kernel.h new file mode 100644 index 00000000000000..7d40e885f4872b --- /dev/null +++ b/paddle/phi/kernels/gpu/ap_variadic_kernel.h @@ -0,0 +1,38 @@ +// Copyright (c) 2025 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 +#include +#include "paddle/phi/core/dense_tensor.h" + +namespace phi { + +template +void AllocateOutTensors(const Context& dev_ctx, + const std::vector& outs); + +template +void ApVariadicKernel(const Context& dev_ctx, + const std::vector& xs, + int num_outputs, + const std::string& code_module_lambda, + const std::string& infer_symbolic_lambda, + const std::string& infer_meta_lambda, + const std::string& kernel_dispatch_lambda, + const std::string& kernel_dispatch_const_data_lambda, + std::vector outs); + +} // namespace phi