Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Missing ElemwiseBinaryOp::DnsCsrDnsOp implementation for cpu  #19405

@Neutron3529

Description

@Neutron3529

Description

When I tried compiling v1.8.x and the newest v1.x, gcc told me

/usr/bin/ld: libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeDenseEx<mshadow::cpu, mxnet::op::mshadow_op::minus>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op5minusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op5minusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x254): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrDnsOp<mxnet::op::mshadow_op::minus>(mshadow::Stream<mshadow::cpu>*, nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
/usr/bin/ld: libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeSparseEx<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op30BinaryBroadcastComputeSparseExIN7mshadow3cpuENS0_10mshadow_op3mulEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op30BinaryBroadcastComputeSparseExIN7mshadow3cpuENS0_10mshadow_op3mulEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x2304): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
/usr/bin/ld: libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeDenseEx<mshadow::cpu, mxnet::op::mshadow_op::plus>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op4plusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op4plusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x24f): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrDnsOp<mxnet::op::mshadow_op::plus>(mshadow::Stream<mshadow::cpu>*, nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
/usr/bin/ld: ../libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeDenseEx<mshadow::cpu, mxnet::op::mshadow_op::minus>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op5minusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op5minusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x254): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrDnsOp<mxnet::op::mshadow_op::minus>(mshadow::Stream<mshadow::cpu>*, nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
/usr/bin/ld: ../libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeSparseEx<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op30BinaryBroadcastComputeSparseExIN7mshadow3cpuENS0_10mshadow_op3mulEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op30BinaryBroadcastComputeSparseExIN7mshadow3cpuENS0_10mshadow_op3mulEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x2304): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrCsrOp<mshadow::cpu, mxnet::op::mshadow_op::mul>(nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'
/usr/bin/ld: ../libmxnet.a(elemwise_binary_broadcast_op_basic.cc.o): in function `void mxnet::op::BinaryBroadcastComputeDenseEx<mshadow::cpu, mxnet::op::mshadow_op::plus>(nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&)':
elemwise_binary_broadcast_op_basic.cc:(.text._ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op4plusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_[_ZN5mxnet2op29BinaryBroadcastComputeDenseExIN7mshadow3cpuENS0_10mshadow_op4plusEEEvRKN4nnvm9NodeAttrsERKNS_9OpContextERKSt6vectorINS_7NDArrayESaISE_EERKSD_INS_9OpReqTypeESaISJ_EESI_]+0x24f): undefined reference to `void mxnet::op::ElemwiseBinaryOp::DnsCsrDnsOp<mxnet::op::mshadow_op::plus>(mshadow::Stream<mshadow::cpu>*, nnvm::NodeAttrs const&, mxnet::OpContext const&, mxnet::NDArray const&, mxnet::NDArray const&, mxnet::OpReqType, mxnet::NDArray const&, bool)'

it seems that the ElemwiseBinaryOp::DnsCsrDnsOp implementation for CPU is missing.
I tried search such implementation in github, but found nothing.
What I should do if I want to compile v1.8.x?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions