From dev-return-7041-archive-asf-public=cust-asf.ponee.io@mxnet.incubator.apache.org Sun Dec 15 01:00:30 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id BA5D4180629 for ; Sun, 15 Dec 2019 02:00:29 +0100 (CET) Received: (qmail 91410 invoked by uid 500); 15 Dec 2019 01:00:28 -0000 Mailing-List: contact dev-help@mxnet.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mxnet.incubator.apache.org Delivered-To: mailing list dev@mxnet.incubator.apache.org Received: (qmail 91398 invoked by uid 99); 15 Dec 2019 01:00:28 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Dec 2019 01:00:28 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 82159C083F for ; Sun, 15 Dec 2019 01:00:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id RxZCDTz5BfnC for ; Sun, 15 Dec 2019 01:00:22 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::c2f; helo=mail-yw1-xc2f.google.com; envelope-from=kellen.sunderland@gmail.com; receiver= Received: from mail-yw1-xc2f.google.com (mail-yw1-xc2f.google.com [IPv6:2607:f8b0:4864:20::c2f]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id E336B7DDD3 for ; Sun, 15 Dec 2019 01:00:21 +0000 (UTC) Received: by mail-yw1-xc2f.google.com with SMTP id b186so1149085ywc.1 for ; Sat, 14 Dec 2019 17:00:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=ZH/n5OMuW3AayRKwcAKSAyX9e+x8HUY9zxQcasqn6zM=; b=ADEO+QveEP6b65ANKbAWdRHrK0p+PY+gmAmJGwqUuHvUjE79sm5hK1x87QZqh1efoK te2UHyXuCKdERcAS1KJ2Pu7/PhQjMDgfIABJoVwEDU/ZC/fa+TtILk8Zq7qT/s9FT6Jw z5/J/oWuWKo7Bv7n3GjR/nqvxBNQOEddG2kLg9QluJaJ0OzpagGnXOC3yHOsc/gZGL0g 0hxH+ml5DNU5zJqGZErsLJjjivDQUBf827Mw4O6afnRpJ3EA9xdzW0OtrCS/RFWmx9n9 BtJRpqGqcFHG+AZQKsjpmcKm2gpsHmEKXMJQlnyNBc7rAuc+fICNnoMmNOP0vV1hRRyt x9Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=ZH/n5OMuW3AayRKwcAKSAyX9e+x8HUY9zxQcasqn6zM=; b=Mr0lKBQQSvmkubWPvN+qpfJw9H0teR7wO+aUJ/xCgy1TPdbwCIhFRzVRo7unp0dLsV IJwPVBxuhhO6DtxMZ9vNeCEZoDDaq0jpdxaB97Pj4CQwBMze594d7AT7VhqFBWYkPyNI dGYdrE+L+BLf4WQPnSSCydj6EXMl1VfbL6E50Cxhhoo2C3b8yV8CJiOja4aUTQJdkkGT zRtjKMbBk2aJeiWUd63R/dI/ebZqY6sGFBRseOAfwQ/CJmUSjlcP2xzxf60IjquWlzBG ADteFMVRDHe3jkQZFrUQOXHMXDfdlLmHrFHF1xlGJRhh59Zqm3NJ6P0F6VUnbOF0Mj1v 1lvg== X-Gm-Message-State: APjAAAW6Ho2YFupL2+JlR+kmKVZjjR15Xh9H3Fa6J7gTcE28UZrQ4YRJ 6mRdLAOTNuYsLBRui7ZDZad4D98Af8iI60J8GFKMsloUkOw= X-Google-Smtp-Source: APXvYqzSYaeC0WyjrdzjQz6wYtMlZqKZOuL2qlLf+Ppj8pOHb+YYyz8eNmV7hFAdug1FV85yoOjqgqav2RySeRErt3Q= X-Received: by 2002:a0d:d306:: with SMTP id v6mr1503118ywd.415.1576371614826; Sat, 14 Dec 2019 17:00:14 -0800 (PST) MIME-Version: 1.0 References: <7ABD030F-44D2-44B4-8C89-4C36BF546CCA@amazon.com> <0B134400-D726-4CF9-890C-5AC8561A0D39@amazon.com> In-Reply-To: <0B134400-D726-4CF9-890C-5AC8561A0D39@amazon.com> From: kellen sunderland Date: Sun, 15 Dec 2019 10:00:03 +0900 Message-ID: Subject: Re: Custom C++ Operators To: dev@mxnet.incubator.apache.org Content-Type: multipart/alternative; boundary="00000000000022ca1f0599b39e52" --00000000000022ca1f0599b39e52 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Awesome news Sam, should make maintaining and integrating custom ops a lot easier. Thanks for the efforts everyone. On Mon, Dec 9, 2019 at 5:55 AM Skalicky, Sam wrote: > Thanks Ciyong, > > Absolutely! Heres how a backward function is registered [1] and here=E2= =80=99s an > example backward function for GEMM [2]. We=E2=80=99ll be working on docum= entation > and a blog post/tutorial soon, hopefully that will help clarify things a= s > 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>> 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>> > Sent: Sunday, December 8, 2019 2:56 AM > To: 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>> 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@ > > > [4] https://github.com/apache/incubator-mxnet/issues/17006 > > > --00000000000022ca1f0599b39e52--