Collective Variables Module - Developer Documentation
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

Public Member Functions

 colvarproxy_smp ()
virtual ~colvarproxy_smp ()
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: