From 92daace55ca25aa9091d402560c90654c0cf183d Mon Sep 17 00:00:00 2001 From: Michal Gallus Date: Mon, 10 Dec 2018 15:03:04 +0100 Subject: [PATCH] MKL-DNN Concat: Fix segfault related to referencing deleter memory primitive test=develop --- paddle/fluid/operators/concat_mkldnn_op.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/paddle/fluid/operators/concat_mkldnn_op.cc b/paddle/fluid/operators/concat_mkldnn_op.cc index b8456aac9d..7ad674056f 100644 --- a/paddle/fluid/operators/concat_mkldnn_op.cc +++ b/paddle/fluid/operators/concat_mkldnn_op.cc @@ -80,8 +80,8 @@ class ConcatPrimitiveFactory { concat CreateConcatPrimitive(const concat::primitive_desc& concat_pd, Tensor* output, platform::CPUPlace place) { CreateSourcePrimitiveAts(); - auto dst_mem = CreateDstMemory(concat_pd, output, place); - return concat(concat_pd, inputs, dst_mem); + dst_mem = CreateDstMemory(concat_pd, output, place); + return concat(concat_pd, inputs, dst_mem.get()); } private: @@ -118,7 +118,8 @@ class ConcatPrimitiveFactory { std::vector srcs_pd; std::vector srcs; std::vector inputs; -}; + boost::optional dst_mem; // TODO(mgallus): change to std::optional +}; // upon introduction of C++17 to paddle template class ConcatMKLDNNOpKernel : public paddle::framework::OpKernel { -- GitLab