From: Mark Abraham Date: Tue, 14 Mar 2017 14:40:05 +0000 (+0100) Subject: Merge branch release-2016 X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=af67565847c0c1c376b12e5b50ed2c4344e173b7;p=alexxy%2Fgromacs.git Merge branch release-2016 Change-Id: I14f7cd22447b8a76110d8b41487666eb49835835 --- af67565847c0c1c376b12e5b50ed2c4344e173b7 diff --cc docs/install-guide/index.rst index 9fc01b432e,eab5e87284..0995083579 --- a/docs/install-guide/index.rst +++ b/docs/install-guide/index.rst @@@ -100,12 -100,13 +100,14 @@@ compiler. We recommend gcc, because it frequently provides the best performance. You should strive to use the most recent version of your -compiler. Minimum supported compiler versions are +compiler. Since we require full C++11 support the minimum supported +compiler versions are + -* GNU (gcc) 4.6 -* Intel (icc) 14 -* LLVM (clang) 3.4 +* GNU (gcc) 4.8.1 +* Intel (icc) 15.0 +* LLVM (clang) 3.3 * Microsoft (MSVC) 2015 + Other compilers may work (Cray, Pathscale, older clang) but do not offer competitive performance. We recommend against PGI because the performance with C++ is very bad. diff --cc src/gromacs/mdlib/sim_util.cpp index 38dbbd4a67,4973896b2c..f0bbde93e5 --- a/src/gromacs/mdlib/sim_util.cpp +++ b/src/gromacs/mdlib/sim_util.cpp @@@ -2487,8 -2587,9 +2497,8 @@@ void finish_run(FILE *fplog, const gmx: if (!walltime_accounting_get_valid_finish(walltime_accounting)) { - md_print_warn(cr, fplog, - "Simulation ended prematurely, no performance report will be written."); + GMX_LOG(mdlog.warning).asParagraph().appendText("Simulation ended prematurely, no performance report will be written."); - return; + printReport = false; } if (cr->nnodes > 1) @@@ -2549,11 -2650,11 +2559,11 @@@ wallcycle_scale_by_num_threads(wcycle, cr->duty == DUTY_PME, nthreads_pp, nthreads_pme); auto cycle_sum(wallcycle_sum(cr, wcycle)); - if (SIMMASTER(cr)) + if (printReport) { - struct gmx_wallclock_gpu_t* gputimes = use_GPU(nbv) ? nbnxn_gpu_get_timings(nbv->gpu_nbv) : NULL; + struct gmx_wallclock_gpu_t* gputimes = use_GPU(nbv) ? nbnxn_gpu_get_timings(nbv->gpu_nbv) : nullptr; - wallcycle_print(fplog, cr->nnodes, cr->npmenodes, nthreads_pp, nthreads_pme, + wallcycle_print(fplog, mdlog, cr->nnodes, cr->npmenodes, nthreads_pp, nthreads_pme, elapsed_time_over_all_ranks, wcycle, cycle_sum, gputimes); diff --cc src/programs/mdrun/md.cpp index 2e58d0a766,8cf1386361..0a52bbe301 --- a/src/programs/mdrun/md.cpp +++ b/src/programs/mdrun/md.cpp @@@ -1268,10 -1276,10 +1275,10 @@@ double gmx::do_md(FILE *fplog, t_commre bCPT, bRerunMD, bLastStep, (Flags & MD_CONFOUT), bSumEkinhOld); /* Check if IMD step and do IMD communication, if bIMD is TRUE. */ - bIMDstep = do_IMD(ir->bIMD, step, cr, bNS, state->box, state->x, ir, t, wcycle); + bIMDstep = do_IMD(ir->bIMD, step, cr, bNS, state->box, as_rvec_array(state->x.data()), ir, t, wcycle); /* kludge -- virial is lost with restart for MTTK NPT control. Must reload (saved earlier). */ - if (startingFromCheckpoint && bTrotter) + if (startingFromCheckpoint && (inputrecNptTrotter(ir) || inputrecNphTrotter(ir))) { copy_mat(state->svir_prev, shake_vir); copy_mat(state->fvir_prev, force_vir); diff --cc src/testutils/CMakeLists.txt index 0b3dc645ee,da1fc6a660..0f1afabceb --- a/src/testutils/CMakeLists.txt +++ b/src/testutils/CMakeLists.txt @@@ -40,11 -35,10 +40,12 @@@ endif( include_directories(BEFORE SYSTEM ${GMOCK_INCLUDE_DIRS}) set(TESTUTILS_SOURCES cmdlinetest.cpp + conftest.cpp integrationtests.cpp interactivetest.cpp + loggertest.cpp mpi-printer.cpp + mpitest.cpp refdata.cpp refdata-xml.cpp stringtest.cpp