Gromacs
2025.0-dev-20241009-5c23d5f
|
#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. | |
NbnxmBenchMarkKernels | nbnxmSimd = NbnxmBenchMarkKernels::SimdAuto |
The SIMD type for the kernel. | |
NbnxmBenchMarkCombRule | ljCombinationRule = NbnxmBenchMarkCombRule::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) | |
NbnxmBenchMarkCoulomb | coulombType = NbnxmBenchMarkCoulomb::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. | |