apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.79k stars 6.79k forks source link

mxnet.ndarray.khatri_rao needs GPU version #10207

Open szha opened 6 years ago

szha commented 6 years ago

Description

  1. khatri_rao was prematurely added to mx.nd/mx.sym namespace instead of contrib namespace which happened in https://github.com/apache/incubator-mxnet/pull/7781/files#r176510540.
  2. khatri_rao doesn't have GPU version.

Given that this PR was merged last year, this feature has made its way into releases already. To resolve, we need to do one of the following:

  1. mark the released op as deprecated and move it back to contrib in the next major version.
  2. move forward: a) one more pass of vetting on the API design (cc @piiswrong), and then 2) implement the GPU version.

cc @cswiercz

cswiercz commented 6 years ago

Also bringing in @jli05

jli05 commented 6 years ago

Maybe this is for another thread: we need a strategy for an intermediate-level pure, complete tensor algebra library — an equivalent of Eigen in tensorflow. This library/module alone would solely provide algebra routines. Higher-level developers define ops.

Otherwise it’s always half-baked thing for such ops — part of the code would try to be generic self-consciously, the rest would follow the templates and define the op.

It’s the moment we make a clean design in this regard if we want a complete/powerful tensor algebra inside mxnet I believe.

szha commented 6 years ago

@piiswrong @cswiercz did you get a chance to sync? What's the conclusion?