MPQC  2.3.1
Classes | Public Member Functions | List of all members
sc::DistShellPair Class Reference

Distributes shell pairs either statically or dynamically. More...

#include <distshpair.h>

Classes

class  SharedData
 This is used to store data that must be shared between all cooperating shell pairs. More...
 

Public Member Functions

 DistShellPair (const Ref< MessageGrp > &, int nthread, int mythread, const Ref< ThreadLock > &lock, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2, bool dynamic, SharedData *shared=0)
 The DistShellPair class is used to distribute shell pair indices among tasks. More...
 
void init ()
 Resets to the first shell pair.
 
void set_debug (int d)
 How much stuff to print out.
 
void set_print_percent (double p)
 How often to print status from node 0.
 
int get_task (int &P, int &Q)
 Puts the current PQ shell pair into P and Q and returns 1. More...
 

Detailed Description

Distributes shell pairs either statically or dynamically.

Constructor & Destructor Documentation

◆ DistShellPair()

sc::DistShellPair::DistShellPair ( const Ref< MessageGrp > &  ,
int  nthread,
int  mythread,
const Ref< ThreadLock > &  lock,
const Ref< GaussianBasisSet > &  bs1,
const Ref< GaussianBasisSet > &  bs2,
bool  dynamic,
SharedData shared = 0 
)

The DistShellPair class is used to distribute shell pair indices among tasks.

Both static (round-robin) and dynamic methods are supported.

Member Function Documentation

◆ get_task()

int sc::DistShellPair::get_task ( int &  P,
int &  Q 
)

Puts the current PQ shell pair into P and Q and returns 1.

When there are no more shell pairs to be processed by this processor, 0 is returned. Once we start doing get_tasks, we have to go to the end if dynamic load balancing is used.

P belongs to bs1, and Q belongs to bs2. If (bs1 == bs2) then P is greater or equal to Q.


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

Generated at Sun Jan 26 2020 23:33:06 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.