Project

General

Profile

Task #2505

Task #2831: Bump required version numbers of infrastructure for 2020

increase cmake reqirement for GROMACS 2020

Added by Mark Abraham about 1 year ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
build system
Target version:
Difficulty:
uncategorized
Close

Description

As in #2012, we should look at both benefits of updating to newer infrastructure, and to minimize the impact on users through understanding which likely production distros have what package available in January 2019. Data below gathered in May 2018.

Available is preferably "available natively in a fresh installation" but since anyway one often needs recent CUDA, or drivers, or compilers, we consider it acceptable if the necessary cmake version can be obtained easily through standardized backports/upgrades repositories. Remember also that Kitware provides high quality binary packages for download, and cmake self-bootstraps beautifully from source from whatever c++ compiler and make is present on the system. So it is never likely for installing cmake to be intrinsically hard, nor harder than anything else needed to install GROMACS for production use.

Possible production distros:
Centos 7: 2.8.11 (but 3.11.0 available in Fedora EPEL 7)
Fedora 28: 3.11.0
Ubuntu 16.04 (xenial): 3.5.1
Ubuntu 18.04 (bionic): 3.10.2
Debian stable (stretch) : 3.7.2 (but 3.9.5 available in stretch-backports)
FreeBSD 11.1: 3.8.1 (but 3.11.1 available in freshports)

Rolling distros won't generally be an issue, but:
macports 3.11.1
homebrew 3.11.2
arch linux 3.11.1
gentoo 3.9.6 and everything more recent

Potential benefits:
cmake 3.8 has native CUDA support (which removes the need for FindCUDA and current work-arounds)

cmake 3.9 adds native CUDA support also on Visual Studio (but needs CUDA 8.0.61)
cmake 3.9 adds a GoogleTest module, improves FindDoxygen, adds CheckIPOSupported (gcc and clang), adds CUDA_PTX_COMPILATION property
cmake 3.9 improves mac rpath handling by default (https://cmake.org/cmake/help/v3.9/policy/CMP0068.html)


Related issues

Related to GROMACS - Bug #2390: GROMACS build system should check for valid nvcc flags before useFeedback wanted
Related to GROMACS - Feature #2126: implement native CUDA support in CMakeNew
Related to GROMACS - Task #2012: Bump required version numbers of infrastructure for 2018Closed

Associated revisions

Revision d014e2e3 (diff)
Added by Roland Schulz 6 months ago

Require cmake 3.9.6

Allows to use modern OpenMP support. The change will permit further
simplifications and modernization, particularly for CUDA.

Also bump release matrices to conform to new requirements.

Fixes #2505

Change-Id: Ibe92639ac4a0bc9ac615826637aeb6e86af0c6d4

Revision f0947c5a (diff)
Added by Mark Abraham 6 months ago

Remove several unnecessary things

More modern cmake requirements mean we don't need to
include some files.

Some TODO comments cannot be addressed in the forecast manner

Simplified some code

Refs #2505, #2831

Change-Id: I3593a072da0ece9b993c7f531ae43fd9fff4afc2

History

#1 Updated by Mark Abraham about 1 year ago

  • Related to Bug #2390: GROMACS build system should check for valid nvcc flags before use added

#2 Updated by Mark Abraham about 1 year ago

  • Related to Feature #2126: implement native CUDA support in CMake added

#3 Updated by Mark Abraham about 1 year ago

I'm in favour of cmake 3.9, which should help decruft a few bits and pieces immediately, and permit better stuff to be written.

#4 Updated by Mark Abraham about 1 year ago

  • Description updated (diff)

#5 Updated by Mark Abraham 10 months ago

  • Subject changed from consider bumping cmake reqirement for GROMACS 2019 to consider bumping cmake reqirement for GROMACS 2020
  • Target version changed from 2019 to 2020

too late for 2019

#6 Updated by Mark Abraham 9 months ago

  • Related to Task #2012: Bump required version numbers of infrastructure for 2018 added

#7 Updated by Mark Abraham 9 months ago

  • Description updated (diff)

#8 Updated by Mark Abraham 6 months ago

  • Related to Task #2831: Bump required version numbers of infrastructure for 2020 added

#9 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '2' for Issue #2505.
Uploader: Roland Schulz ()
Change-Id: gromacs~master~I0ca64fc502fdd81bbe342918428d63253496a041
Gerrit URL: https://gerrit.gromacs.org/7851

#10 Updated by Mark Abraham 6 months ago

  • Parent task set to #2831

#11 Updated by Mark Abraham 6 months ago

Note that when we do this we can revert dc75f6fb325

#12 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '1' for Issue #2505.
Uploader: Mark Abraham ()
Change-Id: gromacs~master~Ibe92639ac4a0bc9ac615826637aeb6e86af0c6d4
Gerrit URL: https://gerrit.gromacs.org/8975

#13 Updated by Mark Abraham 6 months ago

For now, because we still need to deal with the issue solved at #2276, we will continue to use the bundled FindCUDA.cmake. That may go away if/when we switch to native cuda support in cmake.

#14 Updated by Mark Abraham 6 months ago

  • Subject changed from consider bumping cmake reqirement for GROMACS 2020 to increase cmake reqirement for GROMACS 2020
  • Status changed from New to Accepted
  • Assignee changed from Roland Schulz to Mark Abraham

#15 Updated by Roland Schulz 6 months ago

  • Status changed from Accepted to Resolved

#16 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '1' for Issue #2505.
Uploader: Mark Abraham ()
Change-Id: gromacs~master~I3593a072da0ece9b993c7f531ae43fd9fff4afc2
Gerrit URL: https://gerrit.gromacs.org/8987

#17 Updated by Mark Abraham 6 months ago

  • Status changed from Resolved to Closed

3.9.6 is required

Also available in: Atom PDF