Gromacs
2024.3
|
#include "gmxpre.h"
#include "bench_setup.h"
#include <optional>
#include "gromacs/gmxlib/nrnb.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/dispersioncorrection.h"
#include "gromacs/mdlib/force_flags.h"
#include "gromacs/mdlib/forcerec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdtypes/enerdata.h"
#include "gromacs/mdtypes/forcerec.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/mdatom.h"
#include "gromacs/mdtypes/simulation_workload.h"
#include "gromacs/nbnxm/atomdata.h"
#include "gromacs/nbnxm/gridset.h"
#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/nbnxm/nbnxm_simd.h"
#include "gromacs/nbnxm/pairlistset.h"
#include "gromacs/nbnxm/pairlistsets.h"
#include "gromacs/nbnxm/pairsearch.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/simd/simd.h"
#include "gromacs/timing/cyclecounter.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/logger.h"
#include "bench_system.h"
This file defines functions for setting up kernel benchmarks.
Functions | |
static std::optional< std::string > | Nbnxm::checkKernelSetup (const KernelBenchOptions &options) |
Checks the kernel setup. More... | |
static KernelType | Nbnxm::translateBenchmarkEnum (const BenchMarkKernels &kernel) |
Helper to translate between the different enumeration values. | |
static KernelSetup | Nbnxm::getKernelSetup (const KernelBenchOptions &options) |
Returns the kernel setup. | |
static interaction_const_t | Nbnxm::setupInteractionConst (const KernelBenchOptions &options) |
Return an interaction constants struct with members used in the benchmark set appropriately. | |
static std::unique_ptr < nonbonded_verlet_t > | Nbnxm::setupNbnxmForBenchInstance (const KernelBenchOptions &options, const gmx::BenchmarkSystem &system) |
Sets up and returns a Nbnxm object for the given benchmark options and system. | |
static void | Nbnxm::expandSimdOptionAndPushBack (const KernelBenchOptions &options, std::vector< KernelBenchOptions > *optionsList) |
Add the options instance to the list for all requested kernel SIMD types. | |
static void | Nbnxm::setupAndRunInstance (const gmx::BenchmarkSystem &system, const KernelBenchOptions &options, const bool doWarmup) |
Sets up and runs the requested benchmark instance and prints the results. | |
void | Nbnxm::bench (int sizeFactor, const KernelBenchOptions &options) |
Sets up and runs one or more Nbnxm kernel benchmarks. More... | |