Skip to content

Commit 10e3d67

Browse files
authored
Merge pull request #14574 from velconia/fix_dist_resnet_ut_in_py36
Upgrade pybind11 to v2.2.4 to support Python3.7
2 parents 6224e61 + e43f5bc commit 10e3d67

File tree

6 files changed

+15
-16
lines changed

6 files changed

+15
-16
lines changed

cmake/external/pybind11.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ExternalProject_Add(
2626
extern_pybind
2727
${EXTERNAL_PROJECT_LOG_ARGS}
2828
GIT_REPOSITORY "https://github.com/pybind/pybind11.git"
29-
GIT_TAG "v2.1.1"
29+
GIT_TAG "v2.2.4"
3030
PREFIX ${PYBIND_SOURCE_DIR}
3131
UPDATE_COMMAND ""
3232
CONFIGURE_COMMAND ""

paddle/fluid/API.spec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ paddle.fluid.release_memory ArgSpec(args=['input_program', 'skip_opt_set'], vara
2626
paddle.fluid.DistributeTranspilerConfig.__init__
2727
paddle.fluid.ParallelExecutor.__init__ ArgSpec(args=['self', 'use_cuda', 'loss_name', 'main_program', 'share_vars_from', 'exec_strategy', 'build_strategy', 'num_trainers', 'trainer_id', 'scope'], varargs=None, keywords=None, defaults=(None, None, None, None, None, 1, 0, None))
2828
paddle.fluid.ParallelExecutor.run ArgSpec(args=['self', 'fetch_list', 'feed', 'feed_dict', 'return_numpy'], varargs=None, keywords=None, defaults=(None, None, True))
29-
paddle.fluid.ExecutionStrategy.__init__ __init__(self: paddle.fluid.core.ExecutionStrategy) -> None
30-
paddle.fluid.BuildStrategy.GradientScaleStrategy.__init__ __init__(self: paddle.fluid.core.GradientScaleStrategy, arg0: int) -> None
31-
paddle.fluid.BuildStrategy.ReduceStrategy.__init__ __init__(self: paddle.fluid.core.ReduceStrategy, arg0: int) -> None
32-
paddle.fluid.BuildStrategy.__init__ __init__(self: paddle.fluid.core.BuildStrategy) -> None
29+
paddle.fluid.ExecutionStrategy.__init__ __init__(self: paddle.fluid.core.ParallelExecutor.ExecutionStrategy) -> None
30+
paddle.fluid.BuildStrategy.GradientScaleStrategy.__init__ __init__(self: paddle.fluid.core.ParallelExecutor.BuildStrategy.GradientScaleStrategy, arg0: int) -> None
31+
paddle.fluid.BuildStrategy.ReduceStrategy.__init__ __init__(self: paddle.fluid.core.ParallelExecutor.BuildStrategy.ReduceStrategy, arg0: int) -> None
32+
paddle.fluid.BuildStrategy.__init__ __init__(self: paddle.fluid.core.ParallelExecutor.BuildStrategy) -> None
3333
paddle.fluid.create_lod_tensor ArgSpec(args=['data', 'recursive_seq_lens', 'place'], varargs=None, keywords=None, defaults=None)
3434
paddle.fluid.create_random_int_lodtensor ArgSpec(args=['recursive_seq_lens', 'base_shape', 'place', 'low', 'high'], varargs=None, keywords=None, defaults=None)
3535
paddle.fluid.io.save_vars ArgSpec(args=['executor', 'dirname', 'main_program', 'vars', 'predicate', 'filename'], varargs=None, keywords=None, defaults=(None, None, None, None))

paddle/fluid/pybind/protobuf.cc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ namespace pybind11 {
3030
namespace detail {
3131

3232
// Can be replaced by a generic lambda in C++14
33-
struct variant_caster_visitor : public boost::static_visitor<handle> {
33+
struct __attribute__((visibility("hidden"))) paddle_variant_caster_visitor
34+
: public boost::static_visitor<handle> {
3435
return_value_policy policy;
3536
handle parent;
3637

37-
variant_caster_visitor(return_value_policy policy, handle parent)
38+
paddle_variant_caster_visitor(return_value_policy policy, handle parent)
3839
: policy(policy), parent(parent) {}
3940

4041
template <class T>
@@ -44,10 +45,10 @@ struct variant_caster_visitor : public boost::static_visitor<handle> {
4445
};
4546

4647
template <class Variant>
47-
struct variant_caster;
48+
struct paddle_variant_caster;
4849

4950
template <template <class...> class V, class... Ts>
50-
struct variant_caster<V<Ts...>> {
51+
struct paddle_variant_caster<V<Ts...>> {
5152
using Type = V<Ts...>;
5253

5354
template <typename T>
@@ -90,7 +91,7 @@ struct variant_caster<V<Ts...>> {
9091

9192
static handle cast(Type const &src, return_value_policy policy,
9293
handle parent) {
93-
variant_caster_visitor visitor(policy, parent);
94+
paddle_variant_caster_visitor visitor(policy, parent);
9495
return boost::apply_visitor(visitor, src);
9596
}
9697

@@ -101,7 +102,7 @@ struct variant_caster<V<Ts...>> {
101102
// Add specialization for concrete variant type
102103
template <class... Args>
103104
struct type_caster<boost::variant<Args...>>
104-
: variant_caster<boost::variant<Args...>> {};
105+
: paddle_variant_caster<boost::variant<Args...>> {};
105106

106107
} // namespace detail
107108
} // namespace pybind11

paddle/fluid/pybind/pybind.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ bool IsCompiledWithDIST() {
8686
#endif
8787
}
8888

89-
PYBIND11_PLUGIN(core) {
89+
PYBIND11_MODULE(core, m) {
9090
// Not used, just make sure cpu_info.cc is linked.
9191
paddle::platform::CpuTotalPhysicalMemory();
9292

9393
paddle::memory::allocation::UseAllocatorStrategyGFlag();
94-
py::module m("core", "C++ core of PaddlePaddle");
94+
m.doc() = "C++ core of PaddlePaddle";
9595

9696
// using framework in this function. Since it is inside a function, it will
9797
// not cause namespace pollution.
@@ -907,7 +907,6 @@ All parameter, weight, gradient are variables in Paddle.
907907
});
908908

909909
BindRecordIOWriter(&m);
910-
return m.ptr();
911910
}
912911
} // namespace pybind
913912
} // namespace paddle

paddle/fluid/pybind/tensor_py.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ limitations under the License. */
2121
#include "paddle/fluid/memory/memcpy.h"
2222
#include "paddle/fluid/platform/device_context.h"
2323
#include "paddle/fluid/platform/float16.h"
24-
#include "pybind11/common.h"
2524
#include "pybind11/numpy.h"
2625
#include "pybind11/pybind11.h"
2726

paddle/scripts/paddle_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ function cmake_gen() {
149149
elif [ "$1" == "cp37-cp37m" ]; then
150150
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.7.0/lib/:${LD_LIBRARY_PATH}
151151
export PATH=/opt/_internal/cpython-3.7.0/bin/:${PATH}
152-
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/_internal/cpython-3.7.0/bin/python3
152+
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/_internal/cpython-3.7.0/bin/python3.7
153153
-DPYTHON_INCLUDE_DIR:PATH=/opt/_internal/cpython-3.7.0/include/python3.7m
154154
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-3.7.0/lib/libpython3.so"
155155
fi

0 commit comments

Comments
 (0)