From ed681d5235fca44ba985c2380168afe8e09a1e7b Mon Sep 17 00:00:00 2001 From: Abhinav Arora Date: Tue, 17 Apr 2018 17:02:44 -0700 Subject: [PATCH] Fix conv_mkldnn_op.cc which is causing CI failure --- paddle/fluid/operators/conv_mkldnn_op.cc | 32 +++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/paddle/fluid/operators/conv_mkldnn_op.cc b/paddle/fluid/operators/conv_mkldnn_op.cc index d7a8f918ed..63d371310d 100644 --- a/paddle/fluid/operators/conv_mkldnn_op.cc +++ b/paddle/fluid/operators/conv_mkldnn_op.cc @@ -72,10 +72,12 @@ class ConvMKLDNNOpKernel : public paddle::framework::OpKernel { auto dst_md = platform::MKLDNNMemDesc( dst_tz, mkldnn::memory::data_type::f32, mkldnn::memory::format::nchw); - auto src_memory = mkldnn::memory({src_md, mkldnn_engine}, - reinterpret_cast(input_data)); - auto weights_memory = mkldnn::memory({weights_md, mkldnn_engine}, - reinterpret_cast(filter_data)); + auto src_memory = + mkldnn::memory({src_md, mkldnn_engine}, + reinterpret_cast(const_cast(input_data))); + auto weights_memory = + mkldnn::memory({weights_md, mkldnn_engine}, + reinterpret_cast(const_cast(filter_data))); auto dst_memory = mkldnn::memory({dst_md, mkldnn_engine}, output_data); std::shared_ptr conv_pd = @@ -180,9 +182,9 @@ class ConvMKLDNNGradOpKernel : public paddle::framework::OpKernel { dst_tz, mkldnn::memory::data_type::f32, mkldnn::memory::format::nchw); // create memory - auto diff_dst_memory = - mkldnn::memory({diff_weights_md, mkldnn_engine}, - reinterpret_cast(output_grad_data)); + auto diff_dst_memory = mkldnn::memory( + {diff_weights_md, mkldnn_engine}, + reinterpret_cast(const_cast(output_grad_data))); // Retrieve conv_pd from device context auto conv_pd = std::static_pointer_cast( @@ -202,8 +204,9 @@ class ConvMKLDNNGradOpKernel : public paddle::framework::OpKernel { auto diff_weights_memory = mkldnn::memory({diff_weights_md, mkldnn_engine}, reinterpret_cast(filter_grad_data)); - auto src_memory = mkldnn::memory({src_md, mkldnn_engine}, - reinterpret_cast(input_data)); + auto src_memory = + mkldnn::memory({src_md, mkldnn_engine}, + reinterpret_cast(const_cast(input_data))); // create backward conv primitive for weights auto conv_bwd_weights_prim = mkldnn::convolution_backward_weights( @@ -222,11 +225,12 @@ class ConvMKLDNNGradOpKernel : public paddle::framework::OpKernel { strides, paddings, *conv_pd, mkldnn_engine); // create memory - auto diff_src_memory = - mkldnn::memory({diff_src_md, mkldnn_engine}, - reinterpret_cast(input_grad_data)); - auto weights_memory = mkldnn::memory( - {weights_md, mkldnn_engine}, reinterpret_cast(filter_data)); + auto diff_src_memory = mkldnn::memory( + {diff_src_md, mkldnn_engine}, + reinterpret_cast(const_cast(input_grad_data))); + auto weights_memory = + mkldnn::memory({weights_md, mkldnn_engine}, + reinterpret_cast(const_cast(filter_data))); // create backward conv primitive for data auto conv_bwd_data_prim = mkldnn::convolution_backward_data( -- GitLab