From dev-return-2991-archive-asf-public=cust-asf.ponee.io@mxnet.incubator.apache.org Mon Jun 4 11:43:57 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 15751180636 for ; Mon, 4 Jun 2018 11:43:56 +0200 (CEST) Received: (qmail 95766 invoked by uid 500); 4 Jun 2018 09:43:56 -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 95753 invoked by uid 99); 4 Jun 2018 09:43:55 -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; Mon, 04 Jun 2018 09:43:55 +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 1B8D4C7F01 for ; Mon, 4 Jun 2018 09:43:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.889 X-Spam-Level: ** X-Spam-Status: No, score=2.889 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_REPLY=1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 3dKJflSBBeU0 for ; Mon, 4 Jun 2018 09:43:53 +0000 (UTC) Received: from mail-yw0-f172.google.com (mail-yw0-f172.google.com [209.85.161.172]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 4E9A55F57D for ; Mon, 4 Jun 2018 09:43:53 +0000 (UTC) Received: by mail-yw0-f172.google.com with SMTP id b125-v6so7301603ywe.1 for ; Mon, 04 Jun 2018 02:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=sPj1hL2qGYYIsUtfQShmrZK/TXOGzn3g8L4E+mpsCL0=; b=THwW7SleCzv+7oCFE8ff7c81qSf4bR4qSIKnkvqcw5ayFzizejobX/5s6C5ULXvLTg TXqGC9D+4cy585/uIaBOcgfjVQQEhdwcuFAYa7rs1k1aWFgCEAvqW6IXZxu0OzuwD3EI ONUb9V0SoTClH3exgDLyf0gDaVmZRZza3dQpwDMhUQnraAuiJpZpjCrJhTt8sS1BnhGs pBLdYlwtq1Vjy+eU4ARVcVvrItp534IYM+OVpKkpHy4rfjkhE5rpCpD08DqnRDfCfIPv ALfOKyCVW1U1AXVbU6YU0YNRmZIEjfIwELzgGltD2imlGWBC7oap46wsWW9joiaMhMCr D8zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=sPj1hL2qGYYIsUtfQShmrZK/TXOGzn3g8L4E+mpsCL0=; b=kcYYlr64DKc1pfbCgt7/YGzwkSJM26nZvoKGm71VsjUnJ2VIMtZocWHzcEkafImtZT hY7+DCWaotU4Par5QxynzGecreCXVgzQjM1MixKGDC+5BMlgO5NS8OJ1r4MWGEp3qe9Q 8EB3MeJ59PHf+OWr0RXqI+VtJJ+u5KhTy76aagO6JsYhLy00Le9jum3FTk1uWbhdKefk txUAFIro/0Ieo/SSA0ZLNHvhDwliXTGmzkHfY8ZmrNj5o3gjki4d0z+jb7PiLf3U80e+ kLZv96wo5WZvvIkgMU7oXFyB934RQ9t6ZTYS0eI81z1TW8soeTCTsgCshrEZJ4k2wa9l Wzew== X-Gm-Message-State: ALKqPwdoR2Wfimu8joXwY5jPa5ZjmSVQCaLbd75WDMGX4zojmi0qNDQB xtbRmJzimHq40UVsJtddYlFN0sYv1YJgVwO71JTJEA== X-Google-Smtp-Source: ADUXVKITrAPg//RrmDKuK7ywxhEvwLKBaoeCQQO9p2OR3M9TtGZWghfQHCo94U9MP4SNzG+Ff5XU3XLXpUMy1iOSD+o= X-Received: by 2002:a81:300d:: with SMTP id w13-v6mr10388876yww.247.1528105427165; Mon, 04 Jun 2018 02:43:47 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a0d:d1c1:0:0:0:0:0 with HTTP; Mon, 4 Jun 2018 02:43:46 -0700 (PDT) In-Reply-To: References: <82add2f1-38d5-6f16-3e62-131e8c3baa84@mixmax.com> <5fc87924-bdd4-bd16-2d6d-12265d3a2fb6@mixmax.com> <1931028260.14545704.1528098205255@mail.yahoo.com> From: Anton Chernov Date: Mon, 4 Jun 2018 11:43:46 +0200 Message-ID: Subject: Re: Make cmake default To: dev@mxnet.incubator.apache.org Content-Type: multipart/alternative; boundary="0000000000002a66cf056dcdc558" --0000000000002a66cf056dcdc558 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable +1 Cmake build scripts have currently some limitations (CUDA, lapack, F16 etc) especially for cross compilations. I am currently working on those [1]. lapack and BLAS cmake module coming soon. Once this is done all ci builds can be ported to use cmake builds. Regarding amalgamation: It would certainly be beneficial to remove amalgamation ASAP since it's misleading customers. -- Anton [1] CUDA, F16 https://github.com/apache/incubator-mxnet/pull/10564 2018-06-04 10:17 GMT+02:00 Chen HY : > glad to hear mxnet.js is back again. > > 2018-06-04 8:43 GMT+01:00 Asmus Hetzel : > > > +1 > > > > I have dealt with the make/cmake stuff when integrating lapack/cusolver= . > > Having a single cmake would have made things far easier. > > > > Asmus > > > > > > > > Am Freitag, 1. Juni 2018, 23:58:17 MESZ hat Alex Zai < > azai91@gmail.com> > > Folgendes geschrieben: > > > > Just realized that the email lists strips aways all hyperlinks. Attach= ed > > 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 (CMakeLists a= nd > > 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, whic= h > > is not > > always the case. > > Generating a makefile with cmake will make our Makefile very simple lik= e > > 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 dependency' a= s > > USE_MKLDNN is OFF by default). If we encounter any library in the futur= e > > that > > requires us to generate artifacts with cmake, it would be better to mak= e > > 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 o= n > > this > > change. The library does not have a Makefile or binaries present. Unlik= e > > 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 par= ts > > 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 (CMakeLists a= nd > > 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, whic= h > > is not > > always the case. > > Generating a makefile with cmake will make our Makefile very simple lik= e > > 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 requires us > to > > generate artifacts with cmake, it would be better to make the switch no= w. > > 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 incredibl= e > > 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 > --0000000000002a66cf056dcdc558--