The static init of your module should register your operator just as it does for the operators in mxnet (NNVM_REGISTER_OP). While I haven't done it personally, I see no reason why it wouldn't work like any other operator at that point.
On Tue, Mar 6, 2018 at 1:28 PM, Barber, Christopher < [email protected]> wrote: > There are two separate issues: how to compile against the MXNet source and > how to dynamically load external dynamic libraries. While it would be nice > to have all necessary headers in the same place, it doesn't really matter > that much if people building extensions have to have access to the entire > MXNet source tree. The real issue is whether you support the ability to > dynamically load such extensions. > > - Christopher > > On 3/6/18, 4:12 PM, "Chris Olivier" <[email protected]> wrote: > > This was discussed in the past and so far, it seems possible for Unix > builds, although it’s going to be messy since the compile would > generally > need access to all a large portion of the headers in the source tree, > since > the “things needed to create your own op” aren’t necessarily all > contained > in the include/mxnet directory. > > On Tue, Mar 6, 2018 at 11:40 AM kellen sunderland < > [email protected]> wrote: > > > Could we actually just define a mechanism so the libs could register > their > > ops at runtime? No linking required? > > > > On Tue, Mar 6, 2018, 8:36 PM Pedro Larroy < > [email protected]> > > wrote: > > > > > This is a good point. What additional blockers would there be for > linking > > > against a user provided library with custom operators? > > > > > > > > > > > > On Tue, Mar 6, 2018 at 5:16 PM, Barber, Christopher < > > > [email protected]> wrote: > > > > > > > To avoid this kind of problem, you really need to support > features that > > > > allow MXNet to be extended without having to resort to forking. > There > > is > > > > currently no way to add C++ custom operators without forking, > and no > > way > > > to > > > > share such operators across projects. This creates a perverse > incentive > > > to > > > > try to get changes that may not belong into the main product. > > > > > > > > On 3/5/18, 6:26 PM, "Marco de Abreu" < > [email protected]> > > > > wrote: > > > > > > > > Hello, > > > > > > > > we recently had a few cases in which it has been attempted > to add > > new > > > > functionality to old branches because a customer of somebodys > > > $DAY_JOB > > > > requested it and was unable to switch to the latest release > or that > > > > certain > > > > feature did not make it into the release. This lead to quite > a lot > > of > > > > discussions and there was no clear standing within the > community. > > > > > > > > Just to cite semantic versioning: > > > > > > > > 1. MAJOR version when you make incompatible API changes, > > > > 2. MINOR version when you add functionality in a > > > > backwards-compatible > > > > manner, and > > > > 3. PATCH version when you make backwards-compatible bug > fixes. > > > > > > > > > > > > We as a community agreed on following this system and I > think we > > > should > > > > either stick to it or drop it entirely - exceptions to > SemVer are > > > > usually > > > > discouraged. While I see that adding functionality might be > a minor > > > > thing, > > > > I don't think that we should educate our users into > expecting us to > > > > backport new features. The development happening on the > Apache > > MXNet > > > > repository should not be influenced by something like this; > > > especially > > > > considering that whoever supports that customer on their > $DAY_JOB > > can > > > > assist them at creating a fork and cherrypicking that > feature. But > > I > > > > don't > > > > see much reason why we're running against best pracitices. > One > > > > important > > > > thing to note here is that we're not maintaining CI on old > branches > > > and > > > > neither are we making patch releases - so what do these > users do? > > > > Compile > > > > off a stale development branch with unvalidated changes? > > > > > > > > In my opinion this whole topic is just causing trouble and > > > > fragementation > > > > on our end. If a features doesn't make it into the release > (for > > > > whatever > > > > reason), so be it. But I think we should discuss this topic > and > > > > emphasize a > > > > no-exceptions-rule to SemVer. > > > > > > > > Best regards, > > > > Marco > > > > > > > > > > > > > > > > > > > >
