One quote that I really liked and related to this topic “the best design is
achieved not when you have nothing to add, but when there is nothing to be
taken away”.

Most of the stable api decision we put into a project will become a
technical debt, and a minimum clean design with equally powerful api adds
more value than a bigger one
On Fri, Mar 23, 2018 at 12:11 PM Tianqi Chen <[email protected]>
wrote:

> +1 for hour-glass CAPI design. It is there for very good reason. For
> example, if you are windows user an want to build your app using mingw,
> current way works. While the raw c++ approach won’t due to the fact cuda is
> only supported by MSVC.
>
> The argument that c++ api itself is more elegant and fast is not
> necessarily valid. Always remember Amdahl’s Law, the additional overhead
> saved by directly using are not the bottleneck.
>
> The effectiveness of core engine, on the other hand will be on the
> critical path, and we rely on constantly improving this which can mean
> break backward compatibility if C++ api layer is exposed
>
> Tianqi
>
>
> On Fri, Mar 23, 2018 at 11:45 AM Eric Xie <[email protected]> wrote:
>
>> I see several issues with the design. I've commented in the document but
>> for record here:
>>
>> 1. cpp-package is almost only used for inference. since you are planning
>> a rewrite that's almost certainly non-backward-compatible, we might as well
>> create a new interface that's inference only.
>>
>> 2. The hour-glass CAPI design should be kept.
>>
>> On 2018/03/14 18:07:49, Anton Chernov <[email protected]> wrote:
>> > Dear MxNet Community,
>> >
>> > please find here
>> > <
>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=75976112>
>> the
>> > design document for the proposed MXNet C++ package improvements for
>> review
>> > and consideration.
>> >
>> > Feedback is welcome and highly appreciated. Thank you!
>> >
>> > BR
>> > Anton
>> >
>>
>

Reply via email to