28 #ifndef _chemistry_qc_basis_distsh_h
29 #define _chemistry_qc_basis_distsh_h
31 #include <util/misc/regtime.h>
32 #include <util/group/message.h>
33 #include <util/group/thread.h>
34 #include <chemistry/qc/basis/basis.h>
46 volatile long int shell_;
52 void init() { shell_ = 0; }
62 int max_nfunctions = -1,
64 SharedData *shared = 0);
94 double print_percent_;
97 typedef std::vector<int> ShellIndexMap;
98 ShellIndexMap shell_map_;
100 typedef std::pair<int,int> Task;
101 typedef std::vector<Task> Tasks;
109 long int print_interval_;
int get_task(int &I, int &N)
Copies "payload" (I is the first shell of the shell set, in the increasing-size order,...
A template class that maintains references counts.
Definition: ref.h:361
Distributes sets of shells either statically or dynamically.
Definition: distsh.h:39
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.
SharedData()
Construct and initialize.
Definition: distsh.h:48
void init()
If this will be used to iterate through the shells again, then init must be called.
Definition: distsh.h:52
void set_print_percent(double p)
How often to print status from node 0.
void init()
Resets to the first shell.
int shell_index(int i) const
maps shell index from the work ordering (as reported to get_task() ) to its index within the basis se...
This is used to store data that must be shared between all cooperating shell sets.
Definition: distsh.h:44
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
void set_debug(int d)
How much stuff to print out.
Definition: distsh.h:69
Generated at Sun Jan 26 2020 23:23:57 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.