From: Mark Abraham Date: Wed, 2 Jan 2019 10:56:32 +0000 (+0100) Subject: Merge branch release-2019 X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=a2f0c1b2c88ce6d812a622100dc473038d8a3a8e;p=alexxy%2Fgromacs.git Merge branch release-2019 Change-Id: I71d9bc751e14f821392f802ee9222b864f1e69b6 --- a2f0c1b2c88ce6d812a622100dc473038d8a3a8e diff --cc CMakeLists.txt index 90c253920d,0191097c78..59dc5a7f42 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc admin/builds/gromacs.py index c4776b7b27,b1bde7ad28..ec6fa73a5c --- a/admin/builds/gromacs.py +++ b/admin/builds/gromacs.py @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2015,2016,2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2015,2016,2017,2018,2019, 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. diff --cc cmake/gmxManageClangCudaConfig.cmake index 542674d56c,c06a4ca710..4d8f455108 --- a/cmake/gmxManageClangCudaConfig.cmake +++ b/cmake/gmxManageClangCudaConfig.cmake @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2017,2018,2019, 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. diff --cc cmake/gmxManageNvccConfig.cmake index 5704baaff3,ba338394bb..8a021d67ac --- a/cmake/gmxManageNvccConfig.cmake +++ b/cmake/gmxManageNvccConfig.cmake @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc cmake/gmxVersionInfo.cmake index 00c28c65a0,970a572d7b..6531d44d3e --- a/cmake/gmxVersionInfo.cmake +++ b/cmake/gmxVersionInfo.cmake @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2014,2015,2016,2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2014,2015,2016,2017,2018,2019, 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. diff --cc docs/CMakeLists.txt index 5c4fc632c7,dff9e6cd2e..e974237281 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2014,2015,2016,2017,2018, by the GROMACS development team, led by ++# Copyright (c) 2014,2015,2016,2017,2018,2019, 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. @@@ -367,15 -367,7 +367,16 @@@ if (SPHINX_FOUND how-to/visualize.rst install-guide/index.rst release-notes/index.rst + release-notes/highlights.rst + release-notes/features.rst + release-notes/performance.rst + release-notes/tools.rst + release-notes/bugs-fixed.rst + release-notes/removed-functionality.rst + release-notes/deprecated-functionality.rst + release-notes/portability.rst + release-notes/miscellaneous.rst + release-notes/2019/2019.1.rst release-notes/2019/major/highlights.rst release-notes/2019/major/features.rst release-notes/2019/major/performance.rst diff --cc src/api/cpp/tests/CMakeLists.txt index 726ce22753,17f35a123c..c4c733d253 --- a/src/api/cpp/tests/CMakeLists.txt +++ b/src/api/cpp/tests/CMakeLists.txt @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2018, by the GROMACS development team, led by ++# Copyright (c) 2018,2019, 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. diff --cc src/api/cpp/workflow/tests/CMakeLists.txt index 80f3e44831,5f75ee5b4f..b37ecdb7d2 --- a/src/api/cpp/workflow/tests/CMakeLists.txt +++ b/src/api/cpp/workflow/tests/CMakeLists.txt @@@ -1,7 -1,7 +1,7 @@@ # # This file is part of the GROMACS molecular simulation package. # --# Copyright (c) 2018, by the GROMACS development team, led by ++# Copyright (c) 2018,2019, 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. diff --cc src/config.h.cmakein index 5fdeeb61f1,c685f264b5..2723c05117 --- a/src/config.h.cmakein +++ b/src/config.h.cmakein @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/gpu_utils/gpu_utils.cpp index 753c5d8848,905de06b72..7105b498c2 --- a/src/gromacs/gpu_utils/gpu_utils.cpp +++ b/src/gromacs/gpu_utils/gpu_utils.cpp @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2014,2015,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2014,2015,2017,2018,2019, 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. diff --cc src/gromacs/gpu_utils/gpu_utils.cu index 307cdcd99d,56047d32c2..9fbde4f09a --- a/src/gromacs/gpu_utils/gpu_utils.cu +++ b/src/gromacs/gpu_utils/gpu_utils.cu @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/gpu_utils/gpu_utils.h index 69e8ee410c,88058dba56..6755f1c587 --- a/src/gromacs/gpu_utils/gpu_utils.h +++ b/src/gromacs/gpu_utils/gpu_utils.h @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2010, The GROMACS development team. -- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/gpu_utils/gpu_utils_ocl.cpp index a9fea0d284,ea49214e7a..83536a2571 --- a/src/gromacs/gpu_utils/gpu_utils_ocl.cpp +++ b/src/gromacs/gpu_utils/gpu_utils_ocl.cpp @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/gpu_utils/oclraii.h index 0000000000,c541623217..227ba844e5 mode 000000,100644..100644 --- a/src/gromacs/gpu_utils/oclraii.h +++ b/src/gromacs/gpu_utils/oclraii.h @@@ -1,0 -1,138 +1,138 @@@ + /* + * This file is part of the GROMACS molecular simulation package. + * - * Copyright (c) 2018, by the GROMACS development team, led by ++ * Copyright (c) 2018,2019, 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. + */ + /*! \libinternal \file + * \brief Declare RAII helpers for OpenCL types, along with + * supporting type traits. + * + * \author Mark Abraham + * \inlibraryapi + */ + #ifndef GMX_GPU_UTILS_OCLRAII_H + #define GMX_GPU_UTILS_OCLRAII_H + + #include "gromacs/gpu_utils/gmxopencl.h" + + namespace gmx + { + + /*! \libinternal \brief Stub for OpenCL type traits */ + template + struct OpenClTraits; + + /*! \libinternal \brief Implements common trait infrastructure for OpenCL types. */ + template + struct OpenClTraitsBase + { + //! Type of the function that will release a handle of this type. + using ReleaserType = cl_int(*)(cl_type); + }; + + /*! \libinternal \brief Implements traits for cl_context. */ + template <> + struct OpenClTraits : public OpenClTraitsBase + { + //! Function that will release a handle of this type. + static constexpr ReleaserType releaser = clReleaseContext; + }; + + /*! \libinternal \brief Implements traits for cl_command_queue. */ + template <> + struct OpenClTraits : public OpenClTraitsBase + { + //! Function that will release a handle of this type. + static constexpr ReleaserType releaser = clReleaseCommandQueue; + }; + + /*! \libinternal \brief Implements traits for cl_program. */ + template <> + struct OpenClTraits : public OpenClTraitsBase + { + //! Function that will release a handle of this type. + static constexpr ReleaserType releaser = clReleaseProgram; + }; + + /*! \libinternal \brief Implements traits for cl_kernel. */ + template <> + struct OpenClTraits : public OpenClTraitsBase + { + //! Function that will release a handle of this type. + static constexpr ReleaserType releaser = clReleaseKernel; + }; + + /*! \libinternal \brief Wrapper of OpenCL type \c cl_type to implement RAII. + * + * Works by calling the releaser function associated with cl_type + * by OpenClTraits. + * + * Simple copying and assignment are not supported, because there's no + * need for that, and would require OpenCL API calls for deep copies + * if they were needed. Move and move assignment are fine, however. */ + template + class ClHandle + { + public: + //! Constructor that takes an already created handle. + explicit ClHandle(cl_type handle) : handle_(handle) {} + //! Destructor that calls the releaser associated with cl_type. + ~ClHandle() { OpenClTraits::releaser(handle_); } + //! Deleted default constructor. + ClHandle() = delete; + //! Deleted assignment operator. + ClHandle &operator=(const ClHandle &) = delete; + //! Deleted copy constructor. + ClHandle(const ClHandle &) = delete; + //! Default move assignment operator. + ClHandle &operator=(ClHandle &&) = default; + //! Default copy constructor. + ClHandle(ClHandle &&) = default; + /*! \brief Convenience conversion operator so the wrapper type + * can simply convert to the wrapped type. */ + operator cl_type() const { return handle_; } + private: + //! The wrapped object. + cl_type handle_; + }; + + //! Convenience declarations. + /*! @{ */ + using ClContext = ClHandle; + using ClCommandQueue = ClHandle; + using ClProgram = ClHandle; + using ClKernel = ClHandle; + /*! @} */ + + } // namespace + + #endif diff --cc src/gromacs/mdlib/md_support.cpp index 85fac9fa33,2069668f82..f87fe607c7 --- a/src/gromacs/mdlib/md_support.cpp +++ b/src/gromacs/mdlib/md_support.cpp @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. -- * Copyright (c) 2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/mdlib/md_support.h index 5e57ce7c19,b45012de16..eb6c45d615 --- a/src/gromacs/mdlib/md_support.h +++ b/src/gromacs/mdlib/md_support.h @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. -- * Copyright (c) 2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/mdlib/update.cpp index 80aba49efa,af0e485c75..2f6c8aedf4 --- a/src/gromacs/mdlib/update.cpp +++ b/src/gromacs/mdlib/update.cpp @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. -- * Copyright (c) 2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/mdrun/md.cpp index 050eb74284,a49a15df53..7da1d2e46b --- a/src/gromacs/mdrun/md.cpp +++ b/src/gromacs/mdrun/md.cpp @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. -- * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/mdrun/runner.cpp index 81ae467a68,110c9e3c37..6f2657b02f --- a/src/gromacs/mdrun/runner.cpp +++ b/src/gromacs/mdrun/runner.cpp @@@ -3,7 -3,7 +3,7 @@@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. -- * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/taskassignment/decidegpuusage.cpp index 4488f8d589,8e74f9b087..b10f236a1e --- a/src/gromacs/taskassignment/decidegpuusage.cpp +++ b/src/gromacs/taskassignment/decidegpuusage.cpp @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2015,2016,2017,2018,2019, 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. diff --cc src/gromacs/taskassignment/decidegpuusage.h index 3f67d36f3d,34e61ffa92..ac2fe27478 --- a/src/gromacs/taskassignment/decidegpuusage.h +++ b/src/gromacs/taskassignment/decidegpuusage.h @@@ -1,7 -1,7 +1,7 @@@ /* * This file is part of the GROMACS molecular simulation package. * -- * Copyright (c) 2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2017,2018,2019, 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. diff --cc src/gromacs/timing/cyclecounter.cpp index 4675769974,b5644feae4..6778a9d484 --- a/src/gromacs/timing/cyclecounter.cpp +++ b/src/gromacs/timing/cyclecounter.cpp @@@ -2,7 -2,7 +2,7 @@@ * This file is part of the GROMACS molecular simulation package. * * Copyright (c) 1991-2006 David van der Spoel, Erik Lindahl, Berk Hess, University of Groningen. - * Copyright (c) 2013,2014,2015,2016,2017, by the GROMACS development team, led by - * Copyright (c) 2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by ++ * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, 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.