From: Paul Bauer Date: Tue, 24 Nov 2020 15:58:43 +0000 (+0100) Subject: Merge branch 'origin/release-2021' into merge-2021-into-master X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=58f5c06fe8bdd01b3f29d144d212573dbaf2ef04;p=alexxy%2Fgromacs.git Merge branch 'origin/release-2021' into merge-2021-into-master Resolved Conflicts: cmake/gmxVersionInfo.cmake docs/release-notes/index.rst src/gromacs/mdlib/CMakeLists.txt src/gromacs/mdrun/md.cpp --- 58f5c06fe8bdd01b3f29d144d212573dbaf2ef04 diff --cc docs/release-notes/index.rst index 6915178928,6b41402eb9..90a44ee75e --- a/docs/release-notes/index.rst +++ b/docs/release-notes/index.rst @@@ -8,19 -8,19 +8,19 @@@ releases of |Gromacs|. Major releases c functionality supported, whereas patch releases contain only fixes for issues identified in the corresponding major releases. -Two versions of |Gromacs| are under active maintenance, the 2021 -series and the 2020 series. In the latter, only highly conservative +Two versions of |Gromacs| are under active maintenance, the 2022 +series and the 2021 series. In the latter, only highly conservative fixes will be made, and only to address issues that affect scientific correctness. Naturally, some of those releases will be made after the -year 2020 ends, but we keep 2019 in the name so users understand how +year 2021 ends, but we keep 2021 in the name so users understand how up to date their version is. Such fixes will also be incorporated into -the 2021 release series, as appropriate. Around the time the 2022 -release is made, the 2020 series will no longer be maintained. +the 2022 release series, as appropriate. Around the time the 2023 +release is made, the 2021 series will no longer be maintained. Where issue numbers are reported in these release notes, more details - can be found at https://gitlab.com/gromacs/gromacs/-/issues at that issue number. + can be found on the `issue tracker`_ at that issue number. -|Gromacs| 2021 series +|Gromacs| 2022 series --------------------- .. todolist:: @@@ -61,9 -41,6 +61,10 @@@ Major releas 2021/major/portability 2021/major/miscellaneous ++ +Older (unmaintained) |Gromacs| series +------------------------------------------------------- + |Gromacs| 2020 series --------------------- diff --cc src/gromacs/mdlib/CMakeLists.txt index a9d37b516d,949a305797..f1d575bfbe --- a/src/gromacs/mdlib/CMakeLists.txt +++ b/src/gromacs/mdlib/CMakeLists.txt @@@ -33,11 -33,14 +33,13 @@@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. +add_library(mdlib INTERFACE) + file(GLOB MDLIB_SOURCES *.cpp) + # To avoid listing all the necessary files manually, we will remove SYCL-specfific one here: + list(REMOVE_ITEM MDLIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/leapfrog_gpu_sycl.cpp) set(MDLIB_SOURCES ${MDLIB_SOURCES} PARENT_SCOPE) -if (BUILD_TESTING) - add_subdirectory(tests) -endif() if(GMX_GPU_CUDA) gmx_add_libgromacs_sources( leapfrog_gpu.cu @@@ -47,39 -50,11 +49,48 @@@ gpuforcereduction_impl.cu ) endif() + + if(GMX_GPU_SYCL) + gmx_add_libgromacs_sources( + leapfrog_gpu_sycl.cpp + ) + _gmx_add_files_to_property(SYCL_SOURCES + leapfrog_gpu_sycl.cpp + ) + endif() ++ +# Source files have the following private module dependencies. +target_link_libraries(mdlib PRIVATE +# gmxlib +# math +# mdtypes +# tng_io + ) + +# Public interface for modules, including dependencies and interfaces +#target_include_directories(mdlib PUBLIC +target_include_directories(mdlib INTERFACE + $) +#target_link_libraries(mdlib PUBLIC +target_link_libraries(mdlib INTERFACE + legacy_api + ) + +# TODO: when mdlib is an OBJECT target +#target_link_libraries(mdlib PUBLIC legacy_api) +#target_link_libraries(mdlib PRIVATE common) + +# Module dependencies +# mdlib interfaces convey transitive dependence on these modules. +#target_link_libraries(mdlib PUBLIC +target_link_libraries(mdlib INTERFACE + utility + ) +# Source files have the following private module dependencies. +#target_link_libraries(mdlib PRIVATE tng_io) +# TODO: Explicitly link specific modules. +#target_link_libraries(mdlib PRIVATE legacy_modules) + +if (BUILD_TESTING) + add_subdirectory(tests) +endif() diff --cc src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp index 08b35450d3,0c3586f7d6..e98651f1ad --- a/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp +++ b/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp @@@ -151,9 -153,9 +153,9 @@@ enum ElecType nbnxn_gpu_pick_ewald_kern /* Use twin cut-off kernels if requested by bTwinCut or the env. var. forces it (use it for debugging/benchmarking only). */ - if (!bTwinCut && ((getenv("GMX_GPU_NB_EWALD_TWINCUT") == nullptr) || forceTwinCutoffEwaldLegacy)) + if (!bTwinCut && !forceTwinCutoffEwald) { - kernel_type = bUseAnalyticalEwald ? eelTypeEWALD_ANA : eelTypeEWALD_TAB; + return bUseAnalyticalEwald ? ElecType::EwaldAna : ElecType::EwaldTab; } else {