sc::DistShellPair Class Reference

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

#include <distshpair.h>

List of all members.

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

Classes

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


Detailed Description

Distributes shell pairs either statically or dynamically.


Constructor & Destructor Documentation

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

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 Mon Dec 3 23:23:48 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.