diff --git a/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.cu b/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.cu index e838778952bf41..b2d15a59f8b1c9 100644 --- a/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.cu +++ b/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.cu @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.h" #include "paddle/phi/core/kernel_registry.h" #include "paddle/phi/kernels/funcs/aligned_vector.h" #include "paddle/phi/kernels/fusion/gpu/mmha_util.cu.h" diff --git a/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.h b/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.h new file mode 100644 index 00000000000000..34e5c2f24510bc --- /dev/null +++ b/paddle/phi/kernels/fusion/gpu/qkv_unpack_mha_kernel.h @@ -0,0 +1,32 @@ +// 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" +#include "paddle/phi/core/kernel_registry.h" + +namespace phi { +namespace fusion { + +template +void QKVMMHAKernel(const Context& dev_ctx, + const DenseTensor& q, + const DenseTensor& k, + const DenseTensor& v, + const paddle::optional& src_mask, + DenseTensor* out); + +} // namespace fusion +} // namespace phi