Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
Nbnxm::KernelBenchOptions Struct Reference

#include <gromacs/nbnxm/benchmark/bench_setup.h>


The options for the kernel benchmarks.

Public Attributes

bool useGpu = false
 Whether to use a GPU, currently GPUs are not supported.
int numThreads = 1
 The number of OpenMP threads to use.
BenchMarkKernels nbnxmSimd = BenchMarkKernels::SimdAuto
 The SIMD type for the kernel.
BenchMarkCombRule ljCombinationRule = BenchMarkCombRule::RuleGeom
 The LJ combination rule.
bool useHalfLJOptimization = false
 Use i-cluster half-LJ optimization for clusters with <= half LJ.
real pairlistCutoff = 1.0
 The pairlist and interaction cut-off.
real ewaldcoeff_q = 0
 The Coulomb Ewald coefficient.
bool computeVirialAndEnergy = false
 Whether to compute energies (shift forces for virial are always computed on CPU)
BenchMarkCoulomb coulombType = BenchMarkCoulomb::Pme
 The Coulomb interaction function.
bool useTabulatedEwaldCorr = false
 Whether to use tabulated PME grid correction instead of analytical, not applicable with simd=no.
bool doAll = false
 Whether to run all combinations of Coulomb type, combination rule and SIMD.
int numPreIterations = 1
 Number of iterations to run before running each kernel benchmark, currently always 1.
int numIterations = 100
 The number of iterations for each kernel.
int numWarmupIterations = 0
 The number of (untimed) iterations to run at startup to warm up the CPU.
bool cyclesPerPair = false
 Print cycles/pair instead of pairs/cycle.
bool reportTime = false
 Report in micro seconds instead of cycles.
std::string outputFile
 Also report into a csv file.

The documentation for this struct was generated from the following file: