mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lausen, Leonard" <lau...@amazon.com.INVALID>
Subject Re: Bump CMake minimum version
Date Sat, 07 Dec 2019 04:45:25 GMT
Thanks Pedro for pointing out the problems with old CMake versions. I find that
the popular Deep Learning AMIs provided on AWS, while based on Ubuntu 16.04 and
18.04, come with a updated version of CMake (3.13.3) pre-installed.

CMake 3.13 was released more than 1 year ago. Anyone with an older version of
cmake can easily update via `pip install --user --upgrade cmake`. Please see 
https://cliutils.gitlab.io/modern-cmake/chapters/intro/newcmake.html for all the
great improvements done between CMake 3.0 and 3.13.

As Pedro and Shiwen pointed out that old CMake versions, which we currently
claim to support, actually do not work in at least two important MXNet use-cases 
(GPU build; Windows build), I suggest we adopt CMake 3.13 as new minimum
version.

This does not seem contentious to me, thus I suggest a 72 hour lazy consensus
approach. If there are no objections, let's bump the CMake requirement to CMake
3.13 after the 72 hour window.

Best regards
Leonard

On Fri, 2019-12-06 at 11:52 -0800, Pedro Larroy wrote:
> CMake shipped with ubuntu has issues when compiling with CUDA on GPU
> instances.  I wouldn't recommend anything older than 3.12 for Linux GPU
> 
> https://github.com/apache/incubator-mxnet/blob/master/ci/docker/install/ubuntu_core.sh#L63
> 
> I don't know about windows CMake version but would make sense to require a
> newer version.
> 
> On Thu, Dec 5, 2019 at 7:26 PM Lausen, Leonard <lausen@amazon.com.invalid>
> wrote:
> 
> > Currently we declare cmake_minimum_required(VERSION 3.0.2)
> > 
> > I'm in favor of updating our CMake requirement. The main question may be
> > what
> > new version to pick as minimum requirement.
> > 
> > In general, there is the guideline
> > 
> > > You really should at least use a version of CMake that came out after
> > your
> > > compiler, since it needs to know compiler flags, etc, for that version.
> > And,
> > > since CMake will dumb itself down to the minimum required version in your
> > > CMake file, installing a new CMake, even system wide, is pretty safe. You
> > > should at least install it locally. It's easy (1-2 lines in many cases),
> > and
> > > you'll find that 5 minutes of work will save you hundreds of lines and
> > hours
> > > of CMakeLists.txt writing, and will be much easier to maintain in the
> > long
> > > run.
> > https://cliutils.gitlab.io/modern-cmake/
> > 
> > https://cliutils.gitlab.io/modern-cmake/chapters/intro/newcmake.html
> > gives a
> > short overview of all the improvements made to CMake over the past 6 years.
> > 
> > It's easy for users to upgrade their cmake version with pip:
> >   pip install --upgrade --user cmake
> > Thus it wouldn't be overly problematic to rely on a very recent version of
> > cmake, if indeed it's required.
> > 
> > Nevertheless, if an earlier version fixes the problems, let's rather pick
> > that
> > one. Did you confirm which version is required to fix the problem?
> > 
> > For now you could try if the CMake version shipped in the oldest supported
> > Ubuntu LTS release (Ubuntu 16.04) is fixing your problem (CMake 3.5)? If
> > not,
> > please test if CMake version shipped in Ubuntu 18.04 (CMake 3.10) fixes
> > your
> > issue.
> > 
> > Thanks
> > Leonard
> > 
> > On Fri, 2019-12-06 at 08:45 +0800, shiwen hu wrote:
> > > i am send a pr  https://github.com/apache/incubator-mxnet/pull/16980 to
> > > change windows build system.but now ci cmake version seems to be a bug.
> > > can't to compile.can upgrade to 3.16.0?
Mime
View raw message