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.c...@intel.com<mailto:ciyong.c...@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.ab...@gmail.com<mailto:marco.g.ab...@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 <sska...@amazon.com.invalid<mailto:sska...@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