From: Roland Schulz Date: Tue, 7 Jan 2020 04:55:49 +0000 (-0800) Subject: Add support for ICC NextGen with MKL X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=fc1fddcb07967fa199bcd40df4926c7e6d3d8984;p=alexxy%2Fgromacs.git Add support for ICC NextGen with MKL Change-Id: I2ac3d994736f2261955db65c7c039b7c33cdbaa7 --- diff --git a/cmake/gmxManageFFTLibraries.cmake b/cmake/gmxManageFFTLibraries.cmake index ff485cd95f..eab2f486fd 100644 --- a/cmake/gmxManageFFTLibraries.cmake +++ b/cmake/gmxManageFFTLibraries.cmake @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by +# Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -32,6 +32,8 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. +include(gmxTestICCNextGen) + # Manage setup of the different FFT libraries we can use in Gromacs. set(PKG_FFT "") set(PKG_FFT_LIBS "") @@ -40,7 +42,8 @@ set(PKG_FFT_LIBS "") # stuff... set(MKL_MANUALLY FALSE) if (GMX_FFT_LIBRARY STREQUAL "MKL" AND - NOT (CMAKE_C_COMPILER_ID MATCHES "Intel" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER "11")) + NOT ((CMAKE_C_COMPILER_ID MATCHES "Intel" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER "11") + OR GMX_ICC_NEXTGEN)) # The user will have to provide the set of magic libraries in # MKL_LIBRARIES (see below), which we cache (non-advanced), so that they # don't have to keep specifying it, and can easily see that diff --git a/cmake/gmxTestICCNextGen.cmake b/cmake/gmxTestICCNextGen.cmake new file mode 100644 index 0000000000..06af4aee3c --- /dev/null +++ b/cmake/gmxTestICCNextGen.cmake @@ -0,0 +1,41 @@ +# +# This file is part of the GROMACS molecular simulation package. +# +# Copyright (c) 2020, by the GROMACS development team, led by +# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, +# and including many others, as listed in the AUTHORS file in the +# top-level source directory and at http://www.gromacs.org. +# +# GROMACS is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation; either version 2.1 +# of the License, or (at your option) any later version. +# +# GROMACS is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with GROMACS; if not, see +# http://www.gnu.org/licenses, or write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# If you want to redistribute modifications to GROMACS, please +# consider that scientific software is very special. Version +# control is crucial - bugs must be traceable. We will be happy to +# consider code for inclusion in the official distribution, but +# derived work must not be called official GROMACS. Details are found +# in the README & COPYING files - if they are missing, get the +# official version at http://www.gromacs.org. +# +# To help us fund GROMACS development, we humbly ask that you cite +# the research papers on the package. Check out http://www.gromacs.org. + +# CMake detects ICC NextGen (based on LLVM) as Clang +if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + include(CheckCXXSourceCompiles) + check_cxx_source_compiles( + "int main() { return __INTEL_LLVM_COMPILER; }" + GMX_ICC_NEXTGEN) +endif() diff --git a/docs/release-notes/2020/2020.1.rst b/docs/release-notes/2020/2020.1.rst index 6bee9f563b..9c3b1f108c 100644 --- a/docs/release-notes/2020/2020.1.rst +++ b/docs/release-notes/2020/2020.1.rst @@ -22,6 +22,11 @@ Fixes for ``gmx`` tools Fixes that affect portability ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Add support for ICC NextGen +""""""""""""""""""""""""""" + +Add support for Intel Compiler based on LLVM technology. +To compile GROMACS with this compiler use ``CXX=icpc CXXFLAGS=-qnextgen cmake``. Miscellaneous ^^^^^^^^^^^^^