MPQC  3.0.0-alpha
sc::DistShell Class Reference

Distributes sets of shells either statically or dynamically. More...

#include <chemistry/qc/basis/distsh.h>

Classes

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

Public Member Functions

 DistShell (const Ref< MessageGrp > &, int nthread, int mythread, const Ref< ThreadLock > &lock, const Ref< GaussianBasisSet > &bs, bool dynamic, int max_nfunctions=-1, int max_nshell=1, SharedData *shared=0)
 The DistShell class is used to distribute sets of shells to compute tasks. More...
 
void init ()
 Resets to the first shell.
 
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. More...
 
int get_task (int &I, int &N)
 Copies "payload" (I is the first shell of the shell set, in the increasing-size order, and N is the number of shells) and returns 1. More...
 
int shell_index (int i) const
 maps shell index from the work ordering (as reported to get_task() ) to its index within the basis set
 

Detailed Description

Distributes sets of shells either statically or dynamically.

Constructor & Destructor Documentation

◆ DistShell()

sc::DistShell::DistShell ( const Ref< MessageGrp > &  ,
int  nthread,
int  mythread,
const Ref< ThreadLock > &  lock,
const Ref< GaussianBasisSet > &  bs,
bool  dynamic,
int  max_nfunctions = -1,
int  max_nshell = 1,
SharedData shared = 0 
)

The DistShell class is used to distribute sets of shells to compute tasks.

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

Member Function Documentation

◆ get_task()

int sc::DistShell::get_task ( int &  I,
int &  N 
)

Copies "payload" (I is the first shell of the shell set, in the increasing-size order, and N is the number of shells) and returns 1.

When there are no more shells to be processed by this processor, 0 is returned.

◆ set_print_percent()

void sc::DistShell::set_print_percent ( double  p)

How often to print status from node 0.

If p > 100.0, then no printing will be done.


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

Generated at Sun Jan 26 2020 23:24:05 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.