Gromacs
2020.4
|
#include "gmxpre.h"
#include <map>
#include <string>
#include <vector>
#include <gtest/gtest-spi.h>
#include "gromacs/ewald/pme.h"
#include "gromacs/gpu_utils/gpu_testutils.h"
#include "gromacs/hardware/detecthardware.h"
#include "gromacs/hardware/gpu_hw_info.h"
#include "gromacs/trajectory/energyframe.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/loggerbuilder.h"
#include "gromacs/utility/physicalnodecommunicator.h"
#include "gromacs/utility/stringutil.h"
#include "testutils/mpitest.h"
#include "testutils/refdata.h"
#include "energyreader.h"
#include "moduletest.h"
This implements basic PME sanity tests. It runs the input system with PME for several steps (on CPU and GPU, if available), and checks the reciprocal and conserved energies. As part of mdrun-test, this will always run single rank PME simulation. As part of mdrun-mpi-test, this will run same as above when a single rank is requested, or a simulation with a single separate PME rank ("-npme 1") when multiple ranks are requested.
Extend and generalize this for more multi-rank tests (-npme 0, -npme 2, etc).
Implement death tests (e.g. for PME GPU decomposition).
Classes | |
class | gmx::test::anonymous_namespace{pmetest.cpp}::PmeTest |
A basic PME runner. More... | |