Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
bench_setup.cpp File Reference
#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"
+ Include dependency graph for bench_setup.cpp:

Description

This file defines functions for setting up kernel benchmarks.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

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...