Pybind is nice, I used Boost python many years ago, which I think is based
on. The problem with this is the hourglass C bindings, you have to go from
Python to C++ / Pybind, down to C and to the engine, this seems like a lot
of boilerplate.

On Mon, Dec 16, 2019 at 10:02 PM reminisce <notificati...@github.com> wrote:

> MXNet imperative operator invocation overhead is as large as 30-60us,
> which is significant compared to the official NumPy operators with ~600ns
> overhead. This has negatively impacted the performance of applying MXNet to
> the models where many operators' kernel runtime duration is short,
> especially in the area of classic machine learning. We plan to address the
> problem in two steps:
>
>    1.
>
>    Short term: Use pybind11 to replace Python op API and ctypes/c api.
>    Preliminary experiments show that the pure Python-C++ turnaround time by
>    using Pybind is between 400-600ns, while the current Python op API using
>    ctypes/c api costs more than 10us. We believe with the correct
>    implementation, we can reduce the op invocation overhead to 2us including
>    the time on FFI and engine.
>    2.
>
>    Long term: Adopt Python's C extension interface. NumPy did this by
>    developing its own C API. This provides considerably less overhead compared
>    to other solutions. However, it would cost much more engineering efforts by
>    integrating this with our existing operator workflow in C++.
>
> @hzfan <https://github.com/hzfan> @hgt312 <https://github.com/hgt312>
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/apache/incubator-mxnet/issues/17097?email_source=notifications&email_token=AAHCV2KR5Z4L2T62UJCEVPTQZBTOZA5CNFSM4J3WHPZ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IA6JXSA>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAHCV2J7KYUKKTFZTKN6TB3QZBTOZANCNFSM4J3WHPZQ>
> .
>


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/17097#issuecomment-569135990

Reply via email to