reminisce commented on a change in pull request #7226: Extending the GPU dot operator URL: https://github.com/apache/incubator-mxnet/pull/7226#discussion_r132099745
########## File path: src/operator/tensor/dot-inl.h ########## @@ -187,8 +187,8 @@ inline bool DotForwardInferStorageType(const nnvm::NodeAttrs& attrs, CHECK_EQ(out_attrs->size(), 1U); const DotParam& param = nnvm::get<DotParam>(attrs.parsed); // csr has many zero columns, so the result of dot(csr.T, matrix) should be rsp - // dot(csr.T,dns)=rsp not yet implemented on gpu - if (param.transpose_a && kCSRStorage == (*in_attrs)[0] && ctx.dev_type != Context::kGPU) { + // TODO(stefan/haibin): don't enforce kRowSparseStorage if out_attrs has already been set + if (param.transpose_a && kCSRStorage == (*in_attrs)[0]) { STORAGE_TYPE_ASSIGN_CHECK(*out_attrs, 0, kRowSparseStorage); Review comment: Could you change it as @eric-haibin-lin said? `STORAGE_TYPE_ASSIGN_CHECK` would lead to abort if assigning fails. We want fallback for all un-supported combinations of stypes, so no abort at storage inference stage. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services