|
Gromacs
2026.0-dev-20251110-920b6d1
|
#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. | |
| NbnxmBenchMarkInteractionModifiers | interactionModifier = NbnxmBenchMarkInteractionModifiers::PotShift |
| The Coulomb / VdW interaction modifier. | |
| 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. | |
1.8.5