MPQC
3.0.0-alpha
|
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 | |
Distributes sets of shells either statically or dynamically.
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.
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.
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.