Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
manage_threading.h File Reference
#include <cstdio>
+ Include dependency graph for manage_threading.h:
+ This graph shows which files directly or indirectly include this file:


Declares functions for managing threading of listed forces.

Mark Abraham


void setup_bonded_threading (bonded_threading_t *bt, int numAtoms, bool useGpuForBondes, const t_idef &idef)
 Divide the listed interactions over the threads and GPU. More...
void tear_down_bonded_threading (bonded_threading_t *bt)
bonded_threading_tinit_bonded_threading (FILE *fplog, int nenergrp)
 Initialize the bonded threading data structures. More...

Function Documentation

bonded_threading_t* init_bonded_threading ( FILE *  fplog,
int  nenergrp 

Initialize the bonded threading data structures.

Allocates and initializes a bonded threading data structure. A pointer to this struct is returned as *bb_ptr.

Avoid explicit pointers by using Impl
void setup_bonded_threading ( bonded_threading_t bt,
int  numAtoms,
bool  useGpuForBondes,
const t_idef &  idef 

Divide the listed interactions over the threads and GPU.

Uses fr->nthreads for the number of threads, and sets up the thread-force buffer reduction. This should be called each time the bonded setup changes; i.e. at start-up without domain decomposition and at DD.