Gromacs  2025.0-dev-20241011-013a99c
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
gmx_hw_opt_t Struct Reference

#include <gromacs/hardware/hw_info.h>

Description

Threading and GPU options, can be set automatically or by the user.

Todo:
During mdrunner(), if the user has left any of these values at their defaults (which tends to mean "choose automatically"), then those values are over-written with the result of such automation. This creates problems for the subsequent code in knowing what was done, why, and reporting correctly to the user. Find a way to improve this.

Public Attributes

int nthreads_tot = 0
 Total number of threads requested (thread-MPI + OpenMP).
 
int nthreads_tmpi = 0
 Number of thread-MPI threads requested.
 
int nthreads_omp = 0
 Number of OpenMP threads requested.
 
int nthreads_omp_pme = 0
 Number of OpenMP threads to use on PME_only ranks.
 
ThreadAffinity threadAffinity = ThreadAffinity::Select
 Thread affinity switch, see enum above.
 
int core_pinning_stride = 0
 Logical core pinning stride.
 
int core_pinning_offset = 0
 Logical core pinning offset.
 
std::string devicesSelectedByUser
 Empty, or a string provided by the user declaring (unique) GPU IDs available for mdrun to use.
 
std::string userGpuTaskAssignment
 Empty, or a string provided by the user mapping GPU tasks to devices.
 
bool totNumThreadsIsAuto
 Tells whether mdrun is free to choose the total number of threads (by choosing the number of OpenMP and/or thread-MPI threads).
 

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