Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
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:

Description

Declares functions for managing threading of listed forces.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Functions

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)
 Destructor.
 
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.

Todo:
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.