mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Skalicky, Sam" <sska...@amazon.com.INVALID>
Subject Re: Custom C++ Operators
Date Sun, 08 Dec 2019 20:54:51 GMT
Thanks Ciyong,

Absolutely! Heres how a backward function is registered [1] and here’s an example backward
function for GEMM [2]. We’ll be working on documentation and a blog post/tutorial soon,
hopefully that will  help clarify things as well.

Keep the questions coming!

Thanks,
Sam

[1] https://github.com/apache/incubator-mxnet/blob/master/example/extensions/lib_custom_op/gemm_lib.cc#L171
[2] https://github.com/apache/incubator-mxnet/blob/master/example/extensions/lib_custom_op/gemm_lib.cc#L90-L116

On Dec 8, 2019, at 6:48 AM, Chen, Ciyong <ciyong.chen@intel.com<mailto:ciyong.chen@intel.com>>
wrote:

Really great features, it will provide a more convenient way for deployment.
BTW, does it support backward ops too?

-Ciyong

-----Original Message-----
From: Marco de Abreu <marco.g.abreu@gmail.com<mailto:marco.g.abreu@gmail.com>>
Sent: Sunday, December 8, 2019 2:56 AM
To: dev@mxnet.incubator.apache.org<mailto:dev@mxnet.incubator.apache.org>
Subject: Re: Custom C++ Operators

Awesome project, love it! It really seems easy to use, great job!

-Marco

Skalicky, Sam <sskalic@amazon.com.invalid<mailto:sskalic@amazon.com.invalid>>
schrieb am Sa., 7. Dez. 2019,
19:50:

Hi MXNet Community,

We have been working on adding support for custom C++ operators for a
while and are happy to announce that the initial functionality is now
available for you to try out in the master branch!

CustomOp support in MXNet began with allowing users to write custom
operators in Python and has been available for years. If you wanted to
write a high-performance C++ operator you had to do it by adding it to
the MXNet source code, recompiling a custom version of MXNet, and
distributing that custom build. The Custom C++ operator support
enhances this by enabling users to write high-performance C++
operators and compile them separately from MXNet. This frees up users
from having to recompile MXNet from source and makes it easier to add custom operators to
suit their needs.

Heres a few pointers to get started:
1. Check out the overview in the cwiki [1] 2. Check out the PR [2] 3.
You can try this out using the new nightly builds that are available
in
S3 [3]
4. Leave feedback on features to add or things to fix in a followup PR
here [4]

Credit goes to everyone involved (in no particular order) Manu Seth
Sheng Zha Jackie Wu Junru Shao Ziyi Mu

Special thanks to all the PR reviewers!

Thanks!
Sam


[1]
https://cwiki.apache.org/confluence/display/MXNET/Dynamic+CustomOp+Sup
port [2] https://github.com/apache/incubator-mxnet/pull/15921
[3]
https://lists.apache.org/thread.html/0a22e10b290b4ad322ed50024d778c373
6b0a772811caea317790732%40%3Cdev.mxnet.apache.org%3E
<
https://lists.apache.org/thread.html/0a22e10b290b4ad322ed50024d778c373
6b0a772811caea317790732@
<dev.mxnet.apache.org>>
[4] https://github.com/apache/incubator-mxnet/issues/17006


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message