Collective Variables Module - Developer Documentation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
colvarproxy_smp Class Reference

Methods for SMP parallelization. More...

#include <colvarproxy.h>

Inheritance diagram for colvarproxy_smp:
Inheritance graph
[legend]

Public Member Functions

 colvarproxy_smp ()
 Constructor.
 
virtual ~colvarproxy_smp ()
 Destructor.
 
virtual int check_smp_enabled ()
 Whether threaded parallelization is available (TODO: make this a cvm::deps feature)
 
virtual int smp_colvars_loop ()
 Distribute calculation of colvars (and their components) across threads.
 
virtual int smp_biases_loop ()
 Distribute calculation of biases across threads.
 
virtual int smp_biases_script_loop ()
 Distribute calculation of biases across threads 2nd through last, with all scripted biased on 1st thread.
 
virtual int smp_thread_id ()
 Index of this thread.
 
virtual int smp_num_threads ()
 Number of threads sharing this address space.
 
virtual int smp_lock ()
 Lock the proxy's shared data for access by a thread, if threads are implemented; if not implemented, does nothing.
 
virtual int smp_trylock ()
 Attempt to lock the proxy's shared data.
 
virtual int smp_unlock ()
 Release the lock.
 

Public Attributes

bool b_smp_active
 

Protected Attributes

omp_lock_t * omp_lock_state
 Lock state for OpenMP.
 

Detailed Description

Methods for SMP parallelization.

Member Data Documentation

◆ b_smp_active

bool colvarproxy_smp::b_smp_active

Whether threaded parallelization should be used (TODO: make this a cvm::deps feature)


The documentation for this class was generated from the following files: