From dev-return-2984-archive-asf-public=cust-asf.ponee.io@mxnet.incubator.apache.org Sat Jun 2 01:53:22 2018 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 [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id DDDEA18063A for ; Sat, 2 Jun 2018 01:53:21 +0200 (CEST) Received: (qmail 87757 invoked by uid 500); 1 Jun 2018 23:53:21 -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 87744 invoked by uid 99); 1 Jun 2018 23:53:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Jun 2018 23:53:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id DD6E5C0199 for ; Fri, 1 Jun 2018 23:53:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.118 X-Spam-Level: ** X-Spam-Status: No, score=2.118 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com header.b=QW3IdiKb; dkim=pass (1024-bit key) header.d=cs.washington.edu header.b=NrOjGKar Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 2G55muuMBH5c for ; Fri, 1 Jun 2018 23:53:17 +0000 (UTC) Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 1168C5F20C for ; Fri, 1 Jun 2018 23:53:17 +0000 (UTC) Received: by mail-it0-f45.google.com with SMTP id u4-v6so3733347itg.0 for ; Fri, 01 Jun 2018 16:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=ygGNAYaLb3X83m/Y1KntNsT/6QnDbRazSznDp8YEOb0=; b=QW3IdiKb7P+NrebmeldaInSzoRZuxHskRTZ5x4LOd8Gc6GBL+qdb0Lpe50P2DICJKb SfXAAp9RNva7k1osx4YWZOugq/eJ5PkeVvFPmiEodWmsXhy7BQoJOkp4btd7Y0za8h8E LUbEqislaKNlcdySofp4rPSVV5sacO6PUqkNd5Bib1KmRbh5JQ3Ef2lZFbUFZBG7R3pt pUdsycJzX41+GSWS8NqgUCxhh+gPQk0o7HKfWeObUmi2vKNBxzBRlNznGUVIg3jyH7bq JmUhKbonAqtJZtGjaybaPXsw9xmGVksysdayLZKSI5Q5D0czAsrLM+9VirgWt6I8hjMc ie7A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.washington.edu; s=goo201206; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=ygGNAYaLb3X83m/Y1KntNsT/6QnDbRazSznDp8YEOb0=; b=NrOjGKarVyyHiWUdWdtJFa43mMHteZAh7NQIXrWFnk0VdJ0PhggtWR0K7W3yHOjrvx U4iJTx4i8LH5oo+32V1LqQu/dG5AD1TyhANv7iqZsPt4R9wG20yR7Pe4BGyqdx6ppkEE HdwvwwWFGb+vHkBw0jiZbov5WGaCwYOtrFri4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=ygGNAYaLb3X83m/Y1KntNsT/6QnDbRazSznDp8YEOb0=; b=FhgGdBcOqUJpkPOIv+tG9je4+NYrOlvED7ViBr8omQ8CgpmB5nYM69V0qmKQn5JztH L/njrgzEsCksOcGHcGX/bnVAgXG5B9eWOQHlSnASWm6mjaCKr9HIwrScR7WWuQgBGF3b kxPjwRE3IpIIm6vb1+YoFdju8hXlo6sTPuAISxXdjO4Rxd0G8n9GmoD5/vp65OF9UPsd s4B8m+JH1JyHiqqTqI6S7cEu9Rg1bGALZ/hkC8fN7ZXakrUbnrGw3J4pFn6TtM608dyS a9AioYm6s9Zp/Y7t3eEMWsQjHZB+h6usAao7dw6R+bwbi552pSLmAlV99nNKTPYT0oZz Ly1A== X-Gm-Message-State: APt69E136y4KqufUiq4Nzgapv380SL2ANCQptw9jf5X6BlwS4doPnMa4 6bbRr3TLWdbPNSH5u7t9XfblPyuQUN33O0vhnW4= X-Google-Smtp-Source: ADUXVKJWpSlA62qqKotkNlyv/pQPGfg4tDrttBbhkmTHcm7oTidWcIT2ng+f3Vx3POTgv8TELiKtnHiEbgUCbO65CVY= X-Received: by 2002:a24:5913:: with SMTP id p19-v6mr3373143itb.126.1527897196172; Fri, 01 Jun 2018 16:53:16 -0700 (PDT) MIME-Version: 1.0 Sender: workcrow@gmail.com Received: by 2002:a02:8a69:0:0:0:0:0 with HTTP; Fri, 1 Jun 2018 16:53:15 -0700 (PDT) In-Reply-To: References: <82add2f1-38d5-6f16-3e62-131e8c3baa84@mixmax.com> <5fc87924-bdd4-bd16-2d6d-12265d3a2fb6@mixmax.com> From: Tianqi Chen Date: Fri, 1 Jun 2018 16:53:15 -0700 X-Google-Sender-Auth: cymH82P7YkG4LRkDTFEEyozgbGI Message-ID: Subject: Re: Make cmake default To: dev@mxnet.incubator.apache.org Content-Type: multipart/alternative; boundary="000000000000a19bdd056d9d4967" --000000000000a19bdd056d9d4967 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable In light of this, maybe it is time to deprecate amalgamation? GIven there is already support for Pi, and we could use TVM to compile to javascript with WebGL Tianqi On Fri, Jun 1, 2018 at 3:24 PM, Rahul Huilgol wrote: > +1 > > Let's move to CMake. It has much better support, and it's not worth > maintaining two build systems. > If we really want we could maintain a make file which manages the > installation of cmake and calls cmake internally! It seems easy to instal= l > cmake. There is a shell script with binary for all Linux x86_64, Windows, > Mac. For other systems as well, it's just a couple of steps. > > Regards, > Rahul > > > > On Fri, 1 Jun 2018 at 15:12 Chen HY wrote: > > > building for rpi doesn't mean you should build on a rpi... that takes > > forever. > > > > 2018-06-01 23:06 GMT+01:00 Anirudh : > > > > > +1 to using cmake and deprecating Makefile. I was able to find a > previous > > > discussion on this: > > > https://github.com/apache/incubator-mxnet/issues/8702 > > > > > > The concerns raised were > > > 1. Building on devices like raspberry pi where cmake is non existent = or > > > old. > > > 2. Adding an additional dependency. > > > > > > As mentioned in the thread, if we provide good instructions on how to > > > install cmake/build cmake from source, > > > these concerns will be addressed. > > > > > > Anirudh > > > > > > On Fri, Jun 1, 2018 at 2:58 PM, Alex Zai wrote: > > > > > > > Just realized that the email lists strips aways all hyperlinks. > > Attached > > > > is a > > > > copy of my previous email with links pasted in. > > > > > > > > What are peoples' thought on requiring cmake when building from > source? > > > > Currently we have to maintain two independent build files (CMakeLis= ts > > and > > > > Makefile) which makes it more difficult to develop (each are 600+ > > lines). > > > > Also, > > > > our current build system (in Makefile) requires that 3rdparty > > > dependencies > > > > have > > > > binaries present (or a Makefile to generate binaries) in the repo, > > which > > > > is not > > > > always the case. > > > > Generating a makefile with cmake will make our Makefile very simple > > like > > > > PyTorch'sMakefile (20 lines of code - > > > > https://github.com/pytorch/pytorch/blob/master/Makefile). Also, not > > all > > > > 3rdparty > > > > dependencies have binaries or Makefiles. For 3rdparty/mkldnn we end > up > > > > calling > > > > cmake > > > > (https://github.com/apache/incubator-mxnet/blob/master/ > > > > prepare_mkldnn.sh#L96) > > > > to generate binaries (this does not violate our 'no cmake dependenc= y' > > as > > > > USE_MKLDNN is OFF by default). If we encounter any library in the > > future > > > > that > > > > requires us to generate artifacts with cmake, it would be better to > > make > > > > the > > > > switch now. Lastly, we already require cmake as a dependency > > forwindows' > > > > developers > > > > (https://www.dropbox.com/s/9sfnderg58z4j1l/Screenshot% > > > > 202018-06-01%2013.43.08.png?dl=3D0) > > > > so this would only affect linux / mac developers who do not have > cmake > > > > already. > > > > I currently have a pendingPR > > > > (https://github.com/apache/incubator-mxnet/pull/11118/) that > depends > > on > > > > this > > > > change. The library does not have a Makefile or binaries present. > > Unlike > > > > mkldnn, > > > > we would want this library included by default so I cannot generate > > > > artifacts > > > > with cmake. The alternative would be to strip out only the relevant > > parts > > > > of the > > > > code we need from the library. I did this in a previous version of > myPR > > > > (https://github.com/apache/incubator-mxnet/compare/ > > > > dfdfd1ad15de8bb1b899effb0860a4e834093cfc... > > > a4267eb80488804a7f74ff01f5627c > > > > 47dd46bd78) > > > > but it is incredible messy. > > > > Please let me know your thoughts. > > > > Best, > > > > Alex > > > > > > > > > > > > > > > > > > > > > > > > On Fri, Jun 1, 2018 2:51 PM, Alex Zai azai91@gmail.com wrote: > > > > What are peoples' thought on requiring cmake when building from > source? > > > > Currently we have to maintain two independent build files (CMakeLis= ts > > and > > > > Makefile) which makes it more difficult to develop (each are 600+ > > lines). > > > > Also, > > > > our current build system (in Makefile) requires that 3rdparty > > > dependencies > > > > have > > > > binaries present (or a Makefile to generate binaries) in the repo, > > which > > > > is not > > > > always the case. > > > > Generating a makefile with cmake will make our Makefile very simple > > like > > > > PyTorch's Makefile (20 lines of code). Also, not all 3rdparty > > > dependencies > > > > have > > > > binaries or Makefiles. For 3rdparty/mkldnn we end up calling cmake = to > > > > generate > > > > binaries (this does not violate our 'no cmake dependency' as > USE_MKLDNN > > > is > > > > OFF > > > > by default). If we encounter any library in the future that require= s > us > > > to > > > > generate artifacts with cmake, it would be better to make the switc= h > > now. > > > > Lastly, we already require cmake as a dependency for windows' > > > > developers so this > > > > would only affect linux / mac developers who do not have cmake > already. > > > > I currently have a pending PR that depends on this change. The > library > > > > does not > > > > have a Makefile or binaries present. Unlike mkldnn, we would want > this > > > > library > > > > included by default so I cannot generate artifacts with cmake. The > > > > alternative > > > > would be to strip out only the relevant parts of the code we need > from > > > the > > > > library. I did this in a previous version of my PR but it is > > incredible > > > > messy. > > > > Please let me know your thoughts. > > > > Best, > > > > Alex > > > > > > > > > > > > > > > -- > > Chen Hanyang =E9=99=88=E6=B6=B5=E6=B4=8B > > Software School Fudan University > > +86-138-1881-7745 <+86%20138%201881%207745> > > > --000000000000a19bdd056d9d4967--