From c90a969f76e915982318a060f13e76cb8f674310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Wed, 7 Feb 2024 05:28:32 +0800 Subject: [PATCH 01/16] Update CMakeLists.txt --- test/cpp/fluid/framework/CMakeLists.txt | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 5e0e7404f6999..1774dda5f7fca 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -1,14 +1,12 @@ add_subdirectory(details) -cc_test( +paddle_test( data_type_test - SRCS data_type_test.cc - DEPS data_type place tensor) + SRCS data_type_test.cc) -cc_test( +paddle_test( tensor_test - SRCS tensor_test.cc - DEPS tensor isfinite_op) + SRCS tensor_test.cc) if(WITH_GPU) nv_test( tensor_util_test @@ -20,10 +18,9 @@ elseif(WITH_ROCM) SRCS tensor_util_test.cc tensor_util_test.cu DEPS tensor dlpack_tensor isfinite_op) else() - cc_test( + paddle_test( tensor_util_test - SRCS tensor_util_test.cc - DEPS tensor dlpack_tensor isfinite_op) + SRCS tensor_util_test.cc) endif() cc_test( From d01c1eeffd67101721a4a4f2b569e2173a5b4e0e Mon Sep 17 00:00:00 2001 From: liyulingyue <852433440@qq.com> Date: Wed, 7 Feb 2024 09:05:19 +0800 Subject: [PATCH 02/16] add TEST_API --- paddle/fluid/framework/data_type.h | 4 ++-- paddle/phi/core/tensor_utils.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/paddle/fluid/framework/data_type.h b/paddle/fluid/framework/data_type.h index d2344fb68d3e4..b5fa02eeb2bc8 100644 --- a/paddle/fluid/framework/data_type.h +++ b/paddle/fluid/framework/data_type.h @@ -29,7 +29,7 @@ namespace paddle { namespace framework { TEST_API std::string DataTypeToString(const proto::VarType::Type type); -extern size_t SizeOfType(proto::VarType::Type type); +TEST_API extern size_t SizeOfType(proto::VarType::Type type); template struct IsComplex : public std::false_type {}; @@ -123,7 +123,7 @@ _ForEachDataType_(DefineDataTypeTrait); #undef DefineDataTypeTrait -extern proto::VarType::Type ToDataType(std::type_index type); +TEST_API extern proto::VarType::Type ToDataType(std::type_index type); extern std::type_index ToTypeIndex(proto::VarType::Type type); template diff --git a/paddle/phi/core/tensor_utils.h b/paddle/phi/core/tensor_utils.h index 4d9b50d34f8f5..5d82fdfce976c 100644 --- a/paddle/phi/core/tensor_utils.h +++ b/paddle/phi/core/tensor_utils.h @@ -134,7 +134,8 @@ void TensorToVector(const phi::DenseTensor& src, const phi::DeviceContext& ctx, std::vector* dst); -phi::DenseTensor ReshapeToMatrix(const phi::DenseTensor& src, int num_col_dims); +TEST_API phi::DenseTensor ReshapeToMatrix(const phi::DenseTensor& src, + int num_col_dims); template T GetValue(const phi::DenseTensor* x); From fd66bd4a4619e9680a23e701ff11217afa162d97 Mon Sep 17 00:00:00 2001 From: liyulingyue <852433440@qq.com> Date: Wed, 7 Feb 2024 14:51:33 +0800 Subject: [PATCH 03/16] fix code-style --- test/cpp/fluid/framework/CMakeLists.txt | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 1774dda5f7fca..3aefb0146d88c 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -1,12 +1,8 @@ add_subdirectory(details) -paddle_test( - data_type_test - SRCS data_type_test.cc) +paddle_test(data_type_test SRCS data_type_test.cc) -paddle_test( - tensor_test - SRCS tensor_test.cc) +paddle_test(tensor_test SRCS tensor_test.cc) if(WITH_GPU) nv_test( tensor_util_test @@ -18,9 +14,7 @@ elseif(WITH_ROCM) SRCS tensor_util_test.cc tensor_util_test.cu DEPS tensor dlpack_tensor isfinite_op) else() - paddle_test( - tensor_util_test - SRCS tensor_util_test.cc) + paddle_test(tensor_util_test SRCS tensor_util_test.cc) endif() cc_test( From 5ae39cd2f6c0e90369a3ec97a55c0d1160d7a1a3 Mon Sep 17 00:00:00 2001 From: liyulingyue <852433440@qq.com> Date: Thu, 8 Feb 2024 00:28:23 +0800 Subject: [PATCH 04/16] add test_API --- paddle/fluid/framework/dlpack_tensor.h | 3 ++- paddle/fluid/framework/tensor_util.h | 15 ++++++++------- paddle/fluid/memory/memcpy.h | 2 +- paddle/phi/kernels/isfinite_kernel.h | 2 +- paddle/phi/kernels/reduce_all_kernel.h | 10 +++++----- paddle/phi/kernels/reduce_any_kernel.h | 10 +++++----- 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/paddle/fluid/framework/dlpack_tensor.h b/paddle/fluid/framework/dlpack_tensor.h index 943ee88b67695..f39d91b84ee3d 100644 --- a/paddle/fluid/framework/dlpack_tensor.h +++ b/paddle/fluid/framework/dlpack_tensor.h @@ -28,7 +28,8 @@ class DLPackTensor { std::remove_reference::type; // int64_t // lanes is only used in CPU to enable vectorization - explicit DLPackTensor(const phi::DenseTensor& tensor, LaneType lanes = 1); + TEST_API explicit DLPackTensor(const phi::DenseTensor& tensor, + LaneType lanes = 1); inline operator const ::DLTensor&() const { return t_; } diff --git a/paddle/fluid/framework/tensor_util.h b/paddle/fluid/framework/tensor_util.h index 96f3d71c132af..927216ccd115e 100644 --- a/paddle/fluid/framework/tensor_util.h +++ b/paddle/fluid/framework/tensor_util.h @@ -53,12 +53,12 @@ class PrintOptions { PrintOptions() {} }; -void TensorToStream(std::ostream& os, - const phi::DenseTensor& tensor, - const platform::DeviceContext& dev_ctx); -void TensorFromStream(std::istream& is, - phi::DenseTensor* tensor, - const platform::DeviceContext& dev_ctx); +TEST_API void TensorToStream(std::ostream& os, + const phi::DenseTensor& tensor, + const platform::DeviceContext& dev_ctx); +TEST_API void TensorFromStream(std::istream& is, + phi::DenseTensor* tensor, + const platform::DeviceContext& dev_ctx); void TensorFromStream(std::istream& is, phi::DenseTensor* tensor, const platform::DeviceContext& dev_ctx, @@ -107,7 +107,8 @@ void TesnorToVector(const phi::DenseTensor& src, std::vector* dst); // convert dlpack's DLTensor to tensor -void TensorFromDLPack(const ::DLTensor& dl_tensor, phi::DenseTensor* dst); +TEST_API void TensorFromDLPack(const ::DLTensor& dl_tensor, + phi::DenseTensor* dst); void TensorFromDLPack(const DLManagedTensor* src, phi::DenseTensor* dst); // diff --git a/paddle/fluid/memory/memcpy.h b/paddle/fluid/memory/memcpy.h index c8d9208c48219..3897fbe10cea3 100644 --- a/paddle/fluid/memory/memcpy.h +++ b/paddle/fluid/memory/memcpy.h @@ -31,7 +31,7 @@ namespace memory { * */ template -void Copy(DstPlace, void* dst, SrcPlace, const void* src, size_t num); +TEST_API void Copy(DstPlace, void* dst, SrcPlace, const void* src, size_t num); /** * \brief Copy memory from one place to another place. diff --git a/paddle/phi/kernels/isfinite_kernel.h b/paddle/phi/kernels/isfinite_kernel.h index e695a8e074223..291bec9b78436 100644 --- a/paddle/phi/kernels/isfinite_kernel.h +++ b/paddle/phi/kernels/isfinite_kernel.h @@ -20,7 +20,7 @@ namespace phi { #define DEFINE_ISFINITE_KERNEL(isfinite_kernel) \ template \ - void isfinite_kernel( \ + TEST_API void isfinite_kernel( \ const Context& ctx, const DenseTensor& x, DenseTensor* out); DEFINE_ISFINITE_KERNEL(IsinfKernel) diff --git a/paddle/phi/kernels/reduce_all_kernel.h b/paddle/phi/kernels/reduce_all_kernel.h index af34a0a5d4c6f..3610ec245ac98 100644 --- a/paddle/phi/kernels/reduce_all_kernel.h +++ b/paddle/phi/kernels/reduce_all_kernel.h @@ -27,10 +27,10 @@ void AllRawKernel(const Context& dev_ctx, DenseTensor* out); template -void AllKernel(const Context& dev_ctx, - const DenseTensor& x, - const std::vector& dims, - bool keep_dim, - DenseTensor* out); +TEST_API void AllKernel(const Context& dev_ctx, + const DenseTensor& x, + const std::vector& dims, + bool keep_dim, + DenseTensor* out); } // namespace phi diff --git a/paddle/phi/kernels/reduce_any_kernel.h b/paddle/phi/kernels/reduce_any_kernel.h index 9514d02dbdf94..d6a9392e4996b 100644 --- a/paddle/phi/kernels/reduce_any_kernel.h +++ b/paddle/phi/kernels/reduce_any_kernel.h @@ -26,10 +26,10 @@ void AnyRawKernel(const Context& dev_ctx, DenseTensor* out); template -void AnyKernel(const Context& dev_ctx, - const DenseTensor& x, - const std::vector& dims, - bool keep_dim, - DenseTensor* out); +TEST_API void AnyKernel(const Context& dev_ctx, + const DenseTensor& x, + const std::vector& dims, + bool keep_dim, + DenseTensor* out); } // namespace phi From 968d2f134d53a12178b1c29c254e34957abfe22d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Thu, 8 Feb 2024 11:31:39 +0800 Subject: [PATCH 05/16] Apply suggestions from code review --- test/cpp/fluid/framework/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 3aefb0146d88c..077cfbbf7dc95 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -2,7 +2,7 @@ add_subdirectory(details) paddle_test(data_type_test SRCS data_type_test.cc) -paddle_test(tensor_test SRCS tensor_test.cc) +paddle_test(tensor_test SRCS tensor_test.cc DEPS isfinite_op) if(WITH_GPU) nv_test( tensor_util_test @@ -14,7 +14,7 @@ elseif(WITH_ROCM) SRCS tensor_util_test.cc tensor_util_test.cu DEPS tensor dlpack_tensor isfinite_op) else() - paddle_test(tensor_util_test SRCS tensor_util_test.cc) + paddle_test(tensor_util_test SRCS tensor_util_test.cc DEPS isfinite_op) endif() cc_test( From 5f21b107b973cf75e1be97e0dc7f2aaeadcd46aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Mon, 19 Feb 2024 19:21:52 +0800 Subject: [PATCH 06/16] Update CMakeLists.txt --- test/cpp/fluid/framework/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 077cfbbf7dc95..7972dbb0908e7 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -2,7 +2,7 @@ add_subdirectory(details) paddle_test(data_type_test SRCS data_type_test.cc) -paddle_test(tensor_test SRCS tensor_test.cc DEPS isfinite_op) +nv_test(tensor_test SRCS tensor_test.cc DEPS tensor isfinite_op) if(WITH_GPU) nv_test( tensor_util_test @@ -14,7 +14,7 @@ elseif(WITH_ROCM) SRCS tensor_util_test.cc tensor_util_test.cu DEPS tensor dlpack_tensor isfinite_op) else() - paddle_test(tensor_util_test SRCS tensor_util_test.cc DEPS isfinite_op) + nv_test(tensor_util_test SRCS tensor_util_test.cc DEPS tensor dlpack_tensor isfinite_op) endif() cc_test( From 5cde217ac0359df937ce9136463f5866f36fee7b Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Tue, 20 Feb 2024 06:09:11 +0800 Subject: [PATCH 07/16] modify CMakeLists.txt --- test/cpp/fluid/framework/CMakeLists.txt | 91 ++++++++----------------- 1 file changed, 29 insertions(+), 62 deletions(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 7972dbb0908e7..c2a513406a739 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -2,7 +2,16 @@ add_subdirectory(details) paddle_test(data_type_test SRCS data_type_test.cc) -nv_test(tensor_test SRCS tensor_test.cc DEPS tensor isfinite_op) +if(WITH_ONNXRUNTIME AND WIN32) + # Copy onnxruntime for some c++ test in Windows, since the test will + # be build only in CI, so suppose the generator in Windows is Ninja. + copy_onnx(data_type_test) +endif() + +nv_test( + tensor_test + SRCS tensor_test.cc + DEPS tensor isfinite_op) if(WITH_GPU) nv_test( tensor_util_test @@ -14,23 +23,17 @@ elseif(WITH_ROCM) SRCS tensor_util_test.cc tensor_util_test.cu DEPS tensor dlpack_tensor isfinite_op) else() - nv_test(tensor_util_test SRCS tensor_util_test.cc DEPS tensor dlpack_tensor isfinite_op) + nv_test( + tensor_util_test + SRCS tensor_util_test.cc + DEPS tensor dlpack_tensor isfinite_op) endif() -cc_test( - copy_same_tensor_test - SRCS copy_same_tensor_test.cc - DEPS tensor) +paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc) -cc_test( - eigen_test - SRCS eigen_test.cc - DEPS tensor) +paddle_test(eigen_test SRCS eigen_test.cc) -cc_test( - lod_tensor_test - SRCS lod_tensor_test.cc - DEPS phi common lod_tensor) +paddle_test(lod_tensor_test SRCS lod_tensor_test.cc DEPS common) if(WITH_GPU) nv_test( @@ -44,35 +47,17 @@ elseif(WITH_ROCM) DEPS lod_tensor) endif() -cc_test( - reader_test - SRCS reader_test.cc - DEPS reader) +paddle_test(reader_test SRCS reader_test.cc) -cc_test( - threadpool_test - SRCS threadpool_test.cc - DEPS phi common) +paddle_test(threadpool_test SRCS threadpool_test.cc DEPS common) -cc_test( - var_type_traits_test - SRCS var_type_traits_test.cc - DEPS var_type_traits) +paddle_test(var_type_traits_test SRCS var_type_traits_test.cc) -cc_test( - device_worker_test - SRCS device_worker_test.cc - DEPS device_worker) +paddle_test(device_worker_test SRCS device_worker_test.cc) -cc_test( - scope_test - SRCS scope_test.cc - DEPS scope) +paddle_test(scope_test SRCS scope_test.cc) -cc_test( - variable_test - SRCS variable_test.cc - DEPS tensor var_type_traits) +paddle_test(variable_test SRCS variable_test.cc) if(WITH_GPU) nv_test( @@ -97,36 +82,18 @@ elseif(WITH_ROCM) SRCS data_type_transform_test.cc data_type_transform_test.cu DEPS data_type_transform) elseif(WITH_XPU) - cc_test( - data_type_transform_test - SRCS data_type_transform_test.cc - DEPS data_type_transform) + paddle_test(data_type_transform_test SRCS data_type_transform_test.cc) else() - cc_test( - data_type_transform_test - SRCS data_type_transform_test.cc - DEPS data_type_transform) + paddle_test(data_type_transform_test SRCS data_type_transform_test.cc) endif() -cc_test( - data_layout_transform_test - SRCS data_layout_transform_test.cc - DEPS data_layout_transform) +paddle_test(data_layout_transform_test SRCS data_layout_transform_test.cc) -cc_test( - attribute_test - SRCS attribute_test.cc - DEPS attribute framework_proto proto_desc) +paddle_test(attribute_test SRCS attribute_test.cc) -cc_test( - program_desc_test - SRCS program_desc_test.cc - DEPS proto_desc device_context) +paddle_test(program_desc_test SRCS program_desc_test.cc) -cc_test( - op_desc_test - SRCS op_desc_test.cc - DEPS proto_desc) +paddle_test(op_desc_test SRCS op_desc_test.cc) cc_test( op_version_registry_test From 35083ad0b3b1c7af214f00281ba9bbf460e352fe Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Tue, 20 Feb 2024 18:20:55 +0800 Subject: [PATCH 08/16] add TESTAPI --- paddle/fluid/framework/lod_tensor.h | 19 ++++++++++--------- paddle/fluid/framework/reader.h | 14 +++++++------- paddle/phi/core/lod_utils.h | 4 ++-- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/paddle/fluid/framework/lod_tensor.h b/paddle/fluid/framework/lod_tensor.h index 9df50b69f3421..4bc06316b1100 100644 --- a/paddle/fluid/framework/lod_tensor.h +++ b/paddle/fluid/framework/lod_tensor.h @@ -32,12 +32,13 @@ namespace paddle { namespace framework { // Split phi::DenseTensor and copy to each place specified in places. -std::vector SplitLoDTensor( +TEST_API std::vector SplitLoDTensor( const phi::DenseTensor& src, const std::vector places); -void MergeLoDTensor(phi::DenseTensor* target, - const std::vector& lod_tensors, - platform::Place dst_place); +TEST_API void MergeLoDTensor( + phi::DenseTensor* target, + const std::vector& lod_tensors, + platform::Place dst_place); /* * LoD is short for Level of Details. @@ -65,7 +66,7 @@ LoD SliceInLevel(const LoD& in, /* * Transform an LoD from relative offsets to absolute offsets. */ -LoD ToAbsOffset(const LoD& in); +TEST_API LoD ToAbsOffset(const LoD& in); TEST_API bool operator==(const LoD& a, const LoD& b); @@ -85,7 +86,7 @@ TEST_API bool operator==(const LoD& a, const LoD& b); * tensor_height>0. */ -bool CheckLoD(const LoD& in, int tensor_height = -1); +TEST_API bool CheckLoD(const LoD& in, int tensor_height = -1); /* * Check whether this absolute lod's format is valid. * @@ -99,7 +100,7 @@ bool CheckLoD(const LoD& in, int tensor_height = -1); * same(the height of underlying tensor) or `tensor_height` if * tensor_height>0. */ -bool CheckAbsLoD(const LoD& in, int tensor_height = -1); +TEST_API bool CheckAbsLoD(const LoD& in, int tensor_height = -1); /* * Expand the `source` to fit the LoD of `lod`. For example, a `source` @@ -162,7 +163,7 @@ phi::DenseTensor LodExpand(const phi::DenseTensor& source, // Returns: // LoD = [[1, 4], [2, 4, 2, 3, 2]] // pair = {11, 24} -std::pair> GetSubLoDAndAbsoluteOffset( +TEST_API std::pair> GetSubLoDAndAbsoluteOffset( const LoD& lod, size_t start_idx, size_t end_idx, size_t start_level); /* @@ -182,7 +183,7 @@ void DeserializeFromStream(std::istream& is, const size_t& seek, const std::vector& shape); -LoD ConvertToOffsetBasedLoD(const LoD& length_lod); +TEST_API LoD ConvertToOffsetBasedLoD(const LoD& length_lod); void SerializeToStream(std::ostream& os, const phi::DenseTensor& tensor); diff --git a/paddle/fluid/framework/reader.h b/paddle/fluid/framework/reader.h index f926829dc9bd4..8aef207f5da32 100644 --- a/paddle/fluid/framework/reader.h +++ b/paddle/fluid/framework/reader.h @@ -48,15 +48,15 @@ class ReaderBase { "and need_check_feed")); } - virtual void ReadNext(paddle::framework::LoDTensorArray* out); + TEST_API virtual void ReadNext(paddle::framework::LoDTensorArray* out); - virtual void Shutdown(); + TEST_API virtual void Shutdown(); - virtual void Start(); + TEST_API virtual void Start(); // Return the readers which are the end of decorating chain. Basically // they are readers just before read op. - std::unordered_set GetEndPoints(); + TEST_API std::unordered_set GetEndPoints(); // Returns the shapes of the fed variables const std::vector& Shapes() const { return shapes_; } @@ -70,7 +70,7 @@ class ReaderBase { // This function returns whether you have the check shape for this Reader. const std::vector& NeedCheckFeed() const { return need_check_feed_; } - virtual ~ReaderBase(); + TEST_API virtual ~ReaderBase(); protected: virtual void ReadNextImpl(paddle::framework::LoDTensorArray* out UNUSED) {} @@ -98,7 +98,7 @@ class ReaderBase { friend class DecoratedReader; // These methods can be only invoked inside DecoratedReader to record the // decorating chain. - void InsertDecoratedReader( + TEST_API void InsertDecoratedReader( const std::shared_ptr& decorated_reader); // A set of which readers that decorated this reader. std::vector> decorated_readers_; @@ -121,7 +121,7 @@ class DecoratedReader : public ReaderBase, reader_->InsertDecoratedReader(shared_from_this()); } - ~DecoratedReader(); + TEST_API ~DecoratedReader(); const std::shared_ptr& UnderlyingReader() const { return reader_; diff --git a/paddle/phi/core/lod_utils.h b/paddle/phi/core/lod_utils.h index a366f82c0ddf3..fdb9d9cf5052d 100644 --- a/paddle/phi/core/lod_utils.h +++ b/paddle/phi/core/lod_utils.h @@ -24,7 +24,7 @@ using LoD = std::vector>; */ LoD ToAbsOffset(const LoD& in); -void AppendLoD(LoD* lod, const LoD& lod_length); +TEST_API void AppendLoD(LoD* lod, const LoD& lod_length); /* * Convert between length-based LoD and offset-based LoD. @@ -36,6 +36,6 @@ void AppendLoD(LoD* lod, const LoD& lod_length); * If offset_lod = [[0, 2, 3],[0, 3, 5, 9]] * then length_lod = [[2, 1], [3, 2, 4]] */ -LoD ConvertToLengthBasedLoD(const LoD& offset_lod); +TEST_API LoD ConvertToLengthBasedLoD(const LoD& offset_lod); } // namespace phi From 6376a5c55e45dd4130df2b606780717b859a7c02 Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Wed, 21 Feb 2024 21:02:41 +0800 Subject: [PATCH 09/16] add .h file to import TEST_API --- paddle/fluid/framework/lod_tensor.h | 1 + 1 file changed, 1 insertion(+) diff --git a/paddle/fluid/framework/lod_tensor.h b/paddle/fluid/framework/lod_tensor.h index 4bc06316b1100..51ab6d32d3fcc 100644 --- a/paddle/fluid/framework/lod_tensor.h +++ b/paddle/fluid/framework/lod_tensor.h @@ -27,6 +27,7 @@ limitations under the License. */ #include "paddle/fluid/platform/place.h" #include "paddle/phi/core/dense_tensor.h" #include "paddle/phi/core/mixed_vector.h" +#include "paddle/utils/test_macros.h" namespace paddle { namespace framework { From 849f7c348cff1f696c97cc8dcef5404a52f9f8fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Thu, 22 Feb 2024 07:14:01 +0800 Subject: [PATCH 10/16] Update lod_utils.h --- paddle/phi/core/lod_utils.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/paddle/phi/core/lod_utils.h b/paddle/phi/core/lod_utils.h index fdb9d9cf5052d..fdfe65f223827 100644 --- a/paddle/phi/core/lod_utils.h +++ b/paddle/phi/core/lod_utils.h @@ -16,6 +16,8 @@ #include #include +#include "paddle/utils/test_macros.h" + namespace phi { using LoD = std::vector>; From 69034530d65d8161f418224c8d0456ce76526895 Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Thu, 22 Feb 2024 20:11:09 +0800 Subject: [PATCH 11/16] add parts of TEST_API --- .../fluid/framework/data_layout_transform.h | 10 +++---- paddle/fluid/framework/data_type_transform.h | 8 ++--- paddle/fluid/framework/device_worker.h | 29 ++++++++++--------- paddle/fluid/framework/var_type_traits.h | 4 +-- paddle/phi/common/scalar.h | 4 +-- paddle/phi/core/compat/convert_utils.h | 2 +- paddle/phi/core/threadpool.h | 2 +- 7 files changed, 30 insertions(+), 29 deletions(-) diff --git a/paddle/fluid/framework/data_layout_transform.h b/paddle/fluid/framework/data_layout_transform.h index 1b5639d5be981..b9b4b7a8308b4 100644 --- a/paddle/fluid/framework/data_layout_transform.h +++ b/paddle/fluid/framework/data_layout_transform.h @@ -47,11 +47,11 @@ struct CastDataLayout { std::vector GetAxis(const DataLayout& from, const DataLayout& to); -void TransDataLayout(const phi::KernelKey& kernel_type_for_var, - const phi::KernelKey& expected_kernel_type, - const phi::DenseTensor& in, - phi::DenseTensor* out, - const phi::Place& place); +TEST_API void TransDataLayout(const phi::KernelKey& kernel_type_for_var, + const phi::KernelKey& expected_kernel_type, + const phi::DenseTensor& in, + phi::DenseTensor* out, + const phi::Place& place); void TransDataLayout(phi::DataLayout from_layout, phi::DataLayout to_layout, diff --git a/paddle/fluid/framework/data_type_transform.h b/paddle/fluid/framework/data_type_transform.h index 2ec193b675097..aa25fb3653013 100644 --- a/paddle/fluid/framework/data_type_transform.h +++ b/paddle/fluid/framework/data_type_transform.h @@ -28,10 +28,10 @@ class OpKernelType; using KernelTypePair = std::pair; -void TransDataType(const phi::KernelKey& kernel_type_for_var, - const phi::KernelKey& expected_kernel_type, - const phi::DenseTensor& in, - phi::DenseTensor* out); +TEST_API void TransDataType(const phi::KernelKey& kernel_type_for_var, + const phi::KernelKey& expected_kernel_type, + const phi::DenseTensor& in, + phi::DenseTensor* out); void TransDataType(const phi::DenseTensor& in, const paddle::framework::proto::VarType::Type& type, phi::DenseTensor* out); diff --git a/paddle/fluid/framework/device_worker.h b/paddle/fluid/framework/device_worker.h index d7714808ff08a..34975a4356735 100644 --- a/paddle/fluid/framework/device_worker.h +++ b/paddle/fluid/framework/device_worker.h @@ -60,20 +60,21 @@ class Scope; namespace paddle { namespace framework { -std::string PrintLodTensor(phi::DenseTensor* tensor, - int64_t start, - int64_t end, - char separator = ',', - bool need_leading_separator = false); -void PrintLodTensor(phi::DenseTensor* tensor, - int64_t start, - int64_t end, - std::string& output_str, // NOLINT - char separator = ',', - bool need_leading_separator = false, - int num_decimals = 9); -std::pair GetTensorBound(phi::DenseTensor* tensor, int index); -bool CheckValidOutput(phi::DenseTensor* tensor, size_t batch_size); +TEST_API std::string PrintLodTensor(phi::DenseTensor* tensor, + int64_t start, + int64_t end, + char separator = ',', + bool need_leading_separator = false); +TEST_API void PrintLodTensor(phi::DenseTensor* tensor, + int64_t start, + int64_t end, + std::string& output_str, // NOLINT + char separator = ',', + bool need_leading_separator = false, + int num_decimals = 9); +TEST_API std::pair GetTensorBound(phi::DenseTensor* tensor, + int index); +TEST_API bool CheckValidOutput(phi::DenseTensor* tensor, size_t batch_size); class FleetWrapper; diff --git a/paddle/fluid/framework/var_type_traits.h b/paddle/fluid/framework/var_type_traits.h index 9bffd125a3f3d..3751118915e9a 100644 --- a/paddle/fluid/framework/var_type_traits.h +++ b/paddle/fluid/framework/var_type_traits.h @@ -97,8 +97,8 @@ namespace paddle { namespace framework { TEST_API const char *ToTypeName(int var_id); -const std::type_index &VarTraitIdToTypeIndex(int var_id); -int TypeIndexToVarTraitId(const std::type_index &type); +TEST_API const std::type_index &VarTraitIdToTypeIndex(int var_id); +TEST_API int TypeIndexToVarTraitId(const std::type_index &type); namespace detail { diff --git a/paddle/phi/common/scalar.h b/paddle/phi/common/scalar.h index 12de9149a96af..4c7c5320e4f2b 100644 --- a/paddle/phi/common/scalar.h +++ b/paddle/phi/common/scalar.h @@ -356,9 +356,9 @@ void CopyScalar(const ScalarBase& src, ScalarBase* dst) { } using Scalar = paddle::experimental::ScalarBase; -bool operator==(const Scalar& lhs, const Scalar& rhs); +TEST_API bool operator==(const Scalar& lhs, const Scalar& rhs); -std::ostream& operator<<(std::ostream& os, const Scalar& s); +TEST_API std::ostream& operator<<(std::ostream& os, const Scalar& s); template std::vector ExtractPlainVector( diff --git a/paddle/phi/core/compat/convert_utils.h b/paddle/phi/core/compat/convert_utils.h index 632b7a6d17ef2..320338fbc8edd 100644 --- a/paddle/phi/core/compat/convert_utils.h +++ b/paddle/phi/core/compat/convert_utils.h @@ -29,7 +29,7 @@ namespace phi { const std::string& TransToPhiKernelName(const std::string& fluid_op_name); const std::string& TransToFluidOpName(const std::string& phi_kernel_name); -Backend TransToPhiBackend(const phi::Place& place); +TEST_API Backend TransToPhiBackend(const phi::Place& place); phi::Place TransToPhiPlace(const Backend& backend, bool set_device_id = true); #ifdef PADDLE_WITH_DNNL diff --git a/paddle/phi/core/threadpool.h b/paddle/phi/core/threadpool.h index 110a6a459186f..10f91c9387e9a 100644 --- a/paddle/phi/core/threadpool.h +++ b/paddle/phi/core/threadpool.h @@ -56,7 +56,7 @@ class ThreadPool { std::packaged_task()>; // Returns the singleton of ThreadPool. - static ThreadPool* GetInstance(); + TEST_API static ThreadPool* GetInstance(); ~ThreadPool(); From dab1a14e3be8407880c6d185712de6c56eefdcc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Fri, 23 Feb 2024 17:23:49 +0800 Subject: [PATCH 12/16] Apply suggestions from code review --- test/cpp/fluid/framework/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index c2a513406a739..4260597028a10 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -29,7 +29,7 @@ else() DEPS tensor dlpack_tensor isfinite_op) endif() -paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc) +paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc DEPS fluid_memory) paddle_test(eigen_test SRCS eigen_test.cc) From 8c5438f137b0ee3f3348caf935d12ab1e47f69fb Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Fri, 23 Feb 2024 22:19:05 +0800 Subject: [PATCH 13/16] add TEST_API --- paddle/fluid/framework/attribute.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/paddle/fluid/framework/attribute.h b/paddle/fluid/framework/attribute.h index 15486bbb1580a..5f8a768cd65dd 100644 --- a/paddle/fluid/framework/attribute.h +++ b/paddle/fluid/framework/attribute.h @@ -34,9 +34,9 @@ limitations under the License. */ namespace paddle { namespace framework { -paddle::any GetAttrValue(const Attribute& attr); +TEST_API paddle::any GetAttrValue(const Attribute& attr); -Attribute GetAttrValue(const proto::OpDesc::Attr& attr_desc); +TEST_API Attribute GetAttrValue(const proto::OpDesc::Attr& attr_desc); Attribute GetAttrValue(const proto::VarDesc::Attr& attr_desc); @@ -350,9 +350,10 @@ class AttrReader { }; paddle::experimental::Scalar MakeScalarFromProto(const proto::Scalar& v); -proto::Scalar MakeScalarProto(const paddle::experimental::Scalar& v); -paddle::experimental::Scalar MakeScalarFromAttribute(const Attribute& v); -std::vector MakeScalarsFromAttribute( +TEST_API proto::Scalar MakeScalarProto(const paddle::experimental::Scalar& v); +TEST_API paddle::experimental::Scalar MakeScalarFromAttribute( + const Attribute& v); +TEST_API std::vector MakeScalarsFromAttribute( const Attribute& v); void CanonicalizeScalarAttrs(const proto::OpProto& op_proto, AttributeMap* attrs); From 17c482e81458b3069e68a6f65e642fb2083239c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Mon, 26 Feb 2024 18:43:38 +0800 Subject: [PATCH 14/16] Apply suggestions from code review --- test/cpp/fluid/framework/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index 4260597028a10..c244c2616c85e 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -29,7 +29,7 @@ else() DEPS tensor dlpack_tensor isfinite_op) endif() -paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc DEPS fluid_memory) +paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc DEPS allocator) paddle_test(eigen_test SRCS eigen_test.cc) From f51d0bb501320c98f2c51b6cbcec37a1c625d15b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=A5=E4=B9=94?= <83450930+Liyulingyue@users.noreply.github.com> Date: Fri, 1 Mar 2024 18:30:55 +0800 Subject: [PATCH 15/16] Apply suggestions from code review --- test/cpp/fluid/framework/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/cpp/fluid/framework/CMakeLists.txt b/test/cpp/fluid/framework/CMakeLists.txt index c244c2616c85e..0e6093ed66946 100644 --- a/test/cpp/fluid/framework/CMakeLists.txt +++ b/test/cpp/fluid/framework/CMakeLists.txt @@ -29,7 +29,10 @@ else() DEPS tensor dlpack_tensor isfinite_op) endif() -paddle_test(copy_same_tensor_test SRCS copy_same_tensor_test.cc DEPS allocator) +nv_test( + copy_same_tensor_test + SRCS copy_same_tensor_test.cc + DEPS tensor) paddle_test(eigen_test SRCS eigen_test.cc) From 2324d2fbddc9f10b1f23ab0e202556b3a4e53e16 Mon Sep 17 00:00:00 2001 From: Liyulingyue <852433440@qq.com> Date: Sat, 2 Mar 2024 02:49:51 +0800 Subject: [PATCH 16/16] add TEST_API --- paddle/phi/kernels/funcs/data_layout_transform.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/paddle/phi/kernels/funcs/data_layout_transform.h b/paddle/phi/kernels/funcs/data_layout_transform.h index 4bcc96d9c2ab7..3ecfaec6e0670 100644 --- a/paddle/phi/kernels/funcs/data_layout_transform.h +++ b/paddle/phi/kernels/funcs/data_layout_transform.h @@ -83,7 +83,8 @@ void TransDataLayoutFromOneDNN(DataLayout in_layout, DenseTensor* out, Place place, bool always_copy = false); -void* GetDataFromTensor(const DenseTensor& tensor, OneDNNDataType type); +TEST_API void* GetDataFromTensor(const DenseTensor& tensor, + OneDNNDataType type); dnnl::memory::desc make_memory_desc(const phi::DenseTensor& ref_tensor, phi::DataLayout target_layout);