MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
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.
 
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.
 
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.
 
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 Wed Sep 25 2024 02:45:32 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.