# The GROMACS convention is that these are the version number of the next
# release that is going to be made from this branch.
set(GMX_VERSION_MAJOR 2018)
-set(GMX_VERSION_PATCH 0)
+set(GMX_VERSION_PATCH 1)
# The suffix, on the other hand, is used mainly for betas and release
# candidates, where it signifies the most recent such release from
# this branch; it will be empty before the first such release, as well
*
* 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, led by
+ * Copyright (c) 2013,2014,2015,2016,2017,2018, 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.
static void reset_pmeonly_counters(gmx_wallcycle_t wcycle,
gmx_walltime_accounting_t walltime_accounting,
t_nrnb *nrnb, t_inputrec *ir,
- gmx_int64_t step)
+ gmx_int64_t step,
+ bool useGpuForPme)
{
/* Reset all the counters related to performance over the run */
wallcycle_stop(wcycle, ewcRUN);
ir->init_step = step;
wallcycle_start(wcycle, ewcRUN);
walltime_accounting_start(walltime_accounting);
+
+ if (useGpuForPme)
+ {
+ resetGpuProfiler();
+ }
}
static gmx_pme_t *gmx_pmeonly_switch(std::vector<gmx_pme_t *> *pmedata,
if (ret == pmerecvqxRESETCOUNTERS)
{
/* Reset the cycle and flop counters */
- reset_pmeonly_counters(wcycle, walltime_accounting, mynrnb, ir, step);
+ reset_pmeonly_counters(wcycle, walltime_accounting, mynrnb, ir, step, useGpuForPme);
}
}
while (ret == pmerecvqxSWITCHGRID || ret == pmerecvqxRESETCOUNTERS);
*
* 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, led by
+ * Copyright (c) 2013,2014,2015,2016,2017,2018, 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.
}
}
- if (EI_STATE_VELOCITY(ir->eI) && ir->ePBC == epbcNONE && ir->comm_mode != ecmANGULAR)
+ if (EI_STATE_VELOCITY(ir->eI) && !EI_SD(ir->eI) && ir->ePBC == epbcNONE && ir->comm_mode != ecmANGULAR)
{
- warning_note(wi, "Tumbling and or flying ice-cubes: We are not removing rotation around center of mass in a non-periodic system. You should probably set comm_mode = ANGULAR.");
+ sprintf(warn_buf, "Tumbling and flying ice-cubes: We are not removing rotation around center of mass in a non-periodic system. You should probably set comm_mode = ANGULAR or use integrator = %s.", ei_names[eiSD1]);
+ warning_note(wi, warn_buf);
}
/* TEMPERATURE COUPLING */
}
snew(nbv->nbat, 1);
+ int mimimumNumEnergyGroupNonbonded = ir->opts.ngener;
+ if (ir->opts.ngener - ir->nwall == 1)
+ {
+ /* We have only one non-wall energy group, we do not need energy group
+ * support in the non-bondeds kernels, since all non-bonded energy
+ * contributions go to the first element of the energy group matrix.
+ */
+ mimimumNumEnergyGroupNonbonded = 1;
+ }
bool bSimpleList = nbnxn_kernel_pairlist_simple(nbv->grp[0].kernel_type);
nbnxn_atomdata_init(mdlog,
nbv->nbat,
nbv->grp[0].kernel_type,
enbnxninitcombrule,
fr->ntype, fr->nbfp,
- ir->opts.ngener,
+ mimimumNumEnergyGroupNonbonded,
bSimpleList ? gmx_omp_nthreads_get(emntNonbonded) : 1,
nb_alloc, nb_free);
*
* 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, by the GROMACS development team, led by
+ * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018, 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.
if (replExParams.exchangeInterval != 0 && nmultisim < 2)
{
- gmx_fatal(FARGS, "Need at least two replicas for replica exchange (option -multi)");
+ gmx_fatal(FARGS, "Need at least two replicas for replica exchange (option -multidir)");
}
if (replExParams.numExchanges < 0)
const t_inputrec *ir,
bool issueWarning)
{
- if (ir->opts.ngener > 1)
+ if (ir->opts.ngener - ir->nwall > 1)
{
/* The GPU code does not support more than one energy group.
* If the user requested GPUs explicitly, a fatal error is given later.
/* Initialize per-physical-node MPI process/thread ID and counters. */
gmx_init_intranode_counters(cr);
- if (opt2bSet("-multi", nfile, fnm))
+ if (cr->ms && cr->ms->nsim > 1 && !opt2bSet("-multidir", nfile, fnm))
{
GMX_LOG(mdlog.info).asParagraph().
appendText("The -multi flag is deprecated, and may be removed in a future version. Please "