# Templates for configuration stage
.configure-gcc:
- extends:
- - .configure-extends-template
- - .gcc-before-script-template
- - .build-gcc-template
+ extends:
+ - .configure-extends-template
+ - .gcc-before-script-template
+ - .build-gcc-template
.configure-gcc-release:
- extends:
- - .configure-release-extends-template
- - .gcc-before-script-template
- - .build-gcc-template
+ extends:
+ - .configure-release-extends-template
+ - .gcc-before-script-template
+ - .build-gcc-template
+ .configure-gcc-cuda:
+ extends:
+ - .configure-gcc
+ - .cuda-template
+
.configure-clang:
- extends:
- - .configure-extends-template
- - .clang-before-script-template
- - .build-clang-template
+ extends:
+ - .configure-extends-template
+ - .clang-before-script-template
+ - .build-clang-template
.configure-clang-release:
- extends:
- - .configure-release-extends-template
- - .clang-before-script-template
- - .build-clang-template
+ extends:
+ - .configure-release-extends-template
+ - .clang-before-script-template
+ - .build-clang-template
.configure-docs:
- extends:
- - .configure-extends-template
- - .configure-docs-template
- - .documentation-before-script-template
+ extends:
+ - .configure-extends-template
+ - .configure-docs-template
+ - .documentation-before-script-template
.configure-docs-release:
- extends:
- - .configure-extends-template
- - .configure-docs-release-template
- - .documentation-before-script-template
+ extends:
+ - .configure-extends-template
+ - .configure-docs-release-template
+ - .documentation-before-script-template
# Templates for build stage
.build-archive:
- extends:
- - .build-extends-template
- - .documentation-before-script-template
- - .build-docs-binary-template
- - .archive-build-template
+ extends:
+ - .build-extends-template
+ - .documentation-before-script-template
+ - .build-docs-binary-template
+ - .archive-build-template
.build-gcc:
- extends:
- - .build-extends-template
- - .gcc-before-script-template
- - .build-gcc-template
+ extends:
+ - .build-extends-template
+ - .gcc-before-script-template
+ - .build-gcc-template
.build-clang:
- extends:
- - .build-extends-template
- - .clang-before-script-template
- - .build-clang-template
+ extends:
+ - .build-extends-template
+ - .clang-before-script-template
+ - .build-clang-template
.build-docs-binary:
- extends:
- - .build-extends-template
- - .build-cache-template
- - .build-docs-binary-template
- - .documentation-before-script-template
+ extends:
+ - .build-extends-template
+ - .build-cache-template
+ - .build-docs-binary-template
+ - .documentation-before-script-template
.build-docs-webpage:
- extends:
- - .binary-build-template
- - .variables-template
- - .tags-template
- - .no-cache-template
- - .build-docs-webpage-template
- - .documentation-before-script-template
+ extends:
+ - .binary-build-template
+ - .variables-template
+ - .tags-template
+ - .no-cache-template
+ - .build-docs-webpage-template
+ - .documentation-before-script-template
- .build-cuda-gcc:
- extends:
- - .build-gcc
- - .build-cuda-template
+ .build-gcc-cuda:
+ extends:
+ - .build-gcc
+ - .cuda-template
# Templates for test stage
.test-gcc:
- extends:
- - .test-extends-template
- - .gcc-before-script-template
- - .test-gcc-template
+ extends:
+ - .test-extends-template
+ - .gcc-before-script-template
+ - .test-gcc-template
+ .test-gcc-cuda:
+ extends:
+ - .test-gcc
+ - .cuda-template
+
.test-clang:
- extends:
- - .test-extends-template
- - .clang-before-script-template
- - .test-clang-template
+ extends:
+ - .test-extends-template
+ - .clang-before-script-template
+ - .test-clang-template
# Special job to package regressiontest files and have them available for testing
# Runs during pre-build
# Jobs running in first pre-build stage
configure-gcc-7:
- extends:
- - .configure-gcc
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-gcc-7-gmxapi:
- extends:
- - .configure-gcc
- - .configure-gmxapi-template
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-gcc
+ - .configure-gmxapi-template
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-gcc-7-double:
- extends:
- - .configure-gcc
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-gcc-8:
- extends:
- - .configure-gcc
- - .gcc8-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-gcc
+ - .gcc8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 8
+ except:
variables:
- COMPILER_MAJOR_VERSION: 8
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
+ configure-gcc-8-cuda-10.2:
+ extends:
+ - .configure-gcc-cuda
+ - .gcc-8-cuda-10.2-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
configure-gcc-7-simd-sse41:
- extends:
- - .configure-gcc
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-clang-7:
- extends:
- - .configure-clang
- - .clang7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-clang
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-clang-7-gmxapi:
- extends:
- - .configure-clang
- - .configure-gmxapi-template
- - .clang7-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-clang
+ - .configure-gmxapi-template
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 7
+ except:
variables:
- COMPILER_MAJOR_VERSION: 7
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
configure-clang-8:
- extends:
- - .configure-clang
- - .clang8-template
- needs:
- - job: simple-build
- artifacts: false
+ extends:
+ - .configure-clang
+ - .clang8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ variables:
+ COMPILER_MAJOR_VERSION: 8
+ except:
variables:
- COMPILER_MAJOR_VERSION: 8
- except:
- variables:
- - $GROMACS_RELEASE
+ - $GROMACS_RELEASE
# For version of clang before 7, we need to always provide the full version
# Use something like this instead in the download script:
build-gcc-7-gmxapi:
- extends:
- - .build-gcc
- - .gmxapi-extra-installs
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
- - job: configure-gcc-7-gmxapi
- artifacts: true
- except:
- variables:
- - $GROMACS_RELEASE
+ extends:
+ - .build-gcc
+ - .gmxapi-extra-installs
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-gcc-7-gmxapi
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
build-gcc-7-double:
- extends:
- - .build-gcc
- - .gcc7-template
- needs:
- - job: simple-build
- artifacts: false
- - job: configure-gcc-7-double
- artifacts: true
- except:
- variables:
- - $GROMACS_RELEASE
+ extends:
+ - .build-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-gcc-7-double
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
build-gcc-8:
+ extends:
+ - .build-gcc
+ - .gcc8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-gcc-8
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-gcc-8-cuda-10.2:
+ extends:
+ - .build-gcc-cuda
+ - .gcc-8-cuda-10.2-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-gcc-8-cuda-10.2
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-gcc-7-simd-sse41:
+ extends:
+ - .build-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-gcc-7-simd-sse41
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-clang-7:
+ extends:
+ - .build-clang
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-clang-7
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-clang-7-gmxapi:
+ extends:
+ - .build-clang
+ - .gmxapi-extra-installs
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-clang-7-gmxapi
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-clang-8:
+ extends:
+ - .build-clang
+ - .clang8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-clang-8
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ build-clang-6:
+ extends:
+ - .build-clang
+ - .clang6-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: configure-clang-6
+ artifacts: true
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ # Jobs running during test stage
+ test-gcc-7:
+ extends:
+ - .test-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-7
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-gcc-7-gmxapi:
+ extends:
+ - .test-gcc
+ - .gmxapi-extra-installs
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-7-gmxapi
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-gcc-7-double:
+ extends:
+ - .test-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-7-double
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-gcc-8:
+ extends:
+ - .test-gcc
+ - .gcc8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-8
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-gcc-8-cuda-10.2:
+ variables:
+ KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+ KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+ extends:
+ - .test-gcc-cuda
+ - .gcc-8-cuda-10.2-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-8-cuda-10.2
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-gcc-7-simd-sse41:
+ extends:
+ - .test-gcc
+ - .gcc7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-gcc-7-simd-sse41
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-clang-7:
+ extends:
+ - .test-clang
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-clang-7
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-clang-7-gmxapi:
+ extends:
+ - .test-clang
+ - .gmxapi-extra-installs
+ - .clang7-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-clang-7-gmxapi
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-clang-8:
+ extends:
+ - .test-clang
+ - .clang8-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-clang-8
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ test-clang-6:
+ extends:
+ - .test-clang
+ - .clang6-template
+ needs:
+ - job: simple-build
+ artifacts: false
+ - job: build-clang-6
+ except:
+ variables:
+ - $GROMACS_RELEASE
+
+ # Jobs running in source checking stage
+ build-clang-tidy:
extends:
- - .build-clang
- - .clang7-template
- stage: source-check
+ - .build-gcc
+ - .gcc8-template
needs:
- job: simple-build
- artifacts: false
- - job: configure-clang-tidy
+ artifacts: false
+ - job: configure-gcc-8
artifacts: true
- variables:
- BUILD_DIR: build-clang-tidy
- COMPILER_MAJOR_VERSION: 7
- EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION
except:
variables:
- $GROMACS_RELEASE
#
# This file is part of the GROMACS molecular simulation package.
#
- # Copyright (c) 2015,2016,2017,2018,2019,2020, by the GROMACS development team.
-# Copyright (c) 2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++# Copyright (c) 2015,2016,2017,2018,2019,2020, The GROMACS development team.
+# 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.
how-to/visualize.rst
install-guide/index.rst
release-notes/index.rst
+ release-notes/2021/major/highlights.rst
+ release-notes/2021/major/features.rst
+ release-notes/2021/major/performance.rst
+ release-notes/2021/major/tools.rst
+ release-notes/2021/major/bugs-fixed.rst
+ release-notes/2021/major/removed-functionality.rst
+ release-notes/2021/major/deprecated-functionality.rst
+ release-notes/2021/major/portability.rst
+ release-notes/2021/major/miscellaneous.rst
release-notes/2020/2020.1.rst
+ release-notes/2020/2020.2.rst
release-notes/2020/major/highlights.rst
release-notes/2020/major/features.rst
release-notes/2020/major/performance.rst
pme_gpu_realloc_spline_data(pmeGpu);
pme_gpu_realloc_grid_indices(pmeGpu);
}
+ pme_gpu_select_best_performing_pme_spreadgather_kernels(pmeGpu);
}
+/*! \internal \brief
+ * Returns raw timing event from the corresponding GpuRegionTimer (if timings are enabled).
+ * In CUDA result can be nullptr stub, per GpuRegionTimer implementation.
+ *
+ * \param[in] pmeGpu The PME GPU data structure.
+ * \param[in] PMEStageId The PME GPU stage gtPME_ index from the enum in src/gromacs/timing/gpu_timing.h
+ */
+static CommandEvent* pme_gpu_fetch_timing_event(const PmeGpu* pmeGpu, size_t PMEStageId)
+{
+ CommandEvent* timingEvent = nullptr;
+ if (pme_gpu_timings_enabled(pmeGpu))
+ {
+ GMX_ASSERT(PMEStageId < pmeGpu->archSpecific->timingEvents.size(),
+ "Wrong PME GPU timing event index");
+ timingEvent = pmeGpu->archSpecific->timingEvents[PMEStageId].fetchNextEvent();
+ }
+ return timingEvent;
+}
+
void pme_gpu_3dfft(const PmeGpu* pmeGpu, gmx_fft_direction dir, int grid_index)
{
int timerId = (dir == GMX_FFT_REAL_TO_COMPLEX) ? gtPME_FFT_R2C : gtPME_FFT_C2R;
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2012,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2012,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2017 by the GROMACS development team.
- * Copyright (c) 2012,2013,2014,2015,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2012,2013,2014,2015,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013-2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
const char* tabfn,
const char* tabpfn,
gmx::ArrayRef<const std::string> tabbfnm,
- const gmx_hw_info_t& hardwareInfo,
- const gmx_device_info_t* deviceInfo,
- bool useGpuForBonded,
- bool pmeOnlyRankUsesGpu,
- real print_force,
- gmx_wallcycle* wcycle);
+ real print_force);
+ /*! \brief Check whether molecules are ever distributed over PBC boundaries
+ *
+ * Note: This covers only the non-DD case. For DD runs, domdec.h offers an
+ * equivalent dd_bonded_molpbc(...) function.
+ *
+ * \param[in] ir Inputrec structure
+ * \param[in] mtop Molecular topology
+ * \param[in] mdlog File for printing
+ */
+ bool areMoleculesDistributedOverPbc(const t_inputrec& ir, const gmx_mtop_t& mtop, const gmx::MDLogger& mdlog);
+
/*! \brief Divide exclusions over threads
*
* Set the exclusion load for the local exclusions and possibly threads
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
{
fflush_tng(of->tng);
fflush_tng(of->tng_low_prec);
+ /* Write the checkpoint file.
+ * When simulations share the state, an MPI barrier is applied before
+ * renaming old and new checkpoint files to minimize the risk of
+ * checkpoint files getting out of sync.
+ */
ivec one_ivec = { 1, 1, 1 };
write_checkpoint(of->fn_cpt, of->bKeepAndNumCPT, fplog, cr,
- DOMAINDECOMP(cr) ? cr->dd->nc : one_ivec,
+ DOMAINDECOMP(cr) ? cr->dd->numCells : one_ivec,
DOMAINDECOMP(cr) ? cr->dd->nnodes : cr->nnodes, of->eIntegrator,
of->simulation_part, of->bExpanded, of->elamstats, step, t,
- state_global, observablesHistory, *(of->mdModulesNotifier));
+ state_global, observablesHistory, *(of->mdModulesNotifier),
+ of->simulationsShareState, of->mpiCommMasters);
}
if (mdof_flags & (MDOF_X | MDOF_V | MDOF_F))
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 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.
{
tensor vir_con;
- rvec *x, *xprime, *min_proj, *v;
+ ArrayRefWithPadding<RVec> x;
+ ArrayRefWithPadding<RVec> xprime;
+ ArrayRef<RVec> min_proj;
+ ArrayRefWithPadding<RVec> v;
- // disabled functionality
- real lambda = 0;
- real* dvdlambda = nullptr;
+ const real lambdaBonded = freeEnergyPerturbationElement_
+ ? freeEnergyPerturbationElement_->constLambdaView()[efptBONDED]
+ : 0;
+ real dvdlambda = 0;
switch (variable)
{
#include "gromacs/mdlib/force.h"
#include "gromacs/mdlib/force_flags.h"
#include "gromacs/mdlib/mdatoms.h"
+ #include "gromacs/mdtypes/inputrec.h"
+#include "gromacs/mdtypes/mdatom.h"
+ #include "gromacs/pbcutil/pbc.h"
#include "energyelement.h"
#include "freeenergyperturbationelement.h"
#include "gromacs/mdlib/mdatoms.h"
#include "gromacs/mdrun/shellfc.h"
#include "gromacs/mdtypes/inputrec.h"
+#include "gromacs/mdtypes/mdatom.h"
+ #include "gromacs/pbcutil/pbc.h"
#include "gromacs/topology/atoms.h"
#include "gromacs/topology/mtop_util.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2017 by the GROMACS development team.
- * Copyright (c) 2012,2013,2014,2015,2017,2018,2019,2020, by the GROMACS development team, led by
++ * Copyright (c) 2012,2013,2014,2015,2017 The GROMACS development team.
+ * Copyright (c) 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.
#else
0, 0,
#endif
- c_nbnxnGpuClusterSize, c_nbnxnGpuClusterSize }
+ c_nbnxnGpuClusterSize, c_nbnxnGpuClusterSize / 2 }
};
-/* Returns whether the pair-list corresponding to nb_kernel_type is simple */
+/*! \brief Returns whether the pair-list corresponding to nb_kernel_type is simple */
static inline bool kernelTypeUsesSimplePairlist(const KernelType kernelType)
{
return (kernelType == KernelType::Cpu4x4_PlainC || kernelType == KernelType::Cpu4xN_Simd_4xN
#
# This file is part of the GROMACS molecular simulation package.
#
- # Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
-# Copyright (c) 2013,2014,2015,2016,2017,2018,2019,2020, by the GROMACS development team, led by
++# Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+# Copyright (c) 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.