|
MPQC
3.0.0-alpha
|
DistArray4_MPIIOFile_Ind handles transformed integrals stored in a binary file accessed through MPI-IO individual I/O routines. More...
#include <math/distarray4/distarray4_mpiiofile.h>
Public Member Functions | |
| DistArray4_MPIIOFile_Ind (const char *filename, int num_te_types, int ni, int nj, int nx, int ny, DistArray4Storage storage=DistArray4Storage_XY) | |
| DistArray4_MPIIOFile_Ind (StateIn &) | |
| void | save_data_state (StateOut &) |
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
| Ref< DistArray4 > | clone (const DistArray4Dimensions &dim=DistArray4Dimensions::default_dim()) |
| how to clone. More... | |
| void | store_pair_block (int i, int j, tbint_type oper_type, const double *ints) |
| Stores an ij pair block of integrals. More... | |
| void | store_pair_subblock (int i, int j, tbint_type oper_type, int xstart, int xfence, int ystart, int yfence, const double *ints) |
| Stores an rectangular subblock of ij block of integrals. More... | |
| const double * | retrieve_pair_block (int i, int j, tbint_type oper_type, double *buf=0) const |
| Retrieves an ij block of integrals. More... | |
| void | retrieve_pair_subblock (int i, int j, tbint_type oper_type, int xstart, int xfence, int ystart, int yfence, double *buf) const |
| Retrieves a rectangular subblock of ij block of integrals. More... | |
Public Member Functions inherited from sc::DistArray4_MPIIOFile | |
| DistArray4_MPIIOFile (const char *filename, int num_te_types, int ni, int nj, int nx, int ny, DistArray4Storage storage=DistArray4Storage_XY) | |
| DistArray4_MPIIOFile (StateIn &) | |
| void | activate () |
| implementation of DistArray4::activate() | |
| void | deactivate () |
| implementation of DistArray4::deactivate() | |
| bool | data_persistent () const |
| implementation of DistArray4::data_persistent() | |
| void | release_pair_block (int i, int j, tbint_type oper_type) const |
| Releases an ij pair block of integrals. | |
| bool | is_local (int i, int j) const |
| Is this block stored locally? | |
| bool | is_avail (int i, int j) const |
| In this implementation blocks are available everywhere. | |
| bool | has_access (int proc) const |
| Does this task have access to all the integrals? | |
Public Member Functions inherited from sc::DistArray4 | |
| DistArray4 (int num_te_types, int ni, int nj, int nx, int ny, DistArray4Storage storage=DistArray4Storage_XY) | |
| DistArray4 (StateIn &) | |
| int | num_te_types () const |
| The number of types of integrals that are being handled together. | |
| int | ni () const |
| Rank of index space i. | |
| int | nj () const |
| Rank of index space j. | |
| int | nx () const |
| Rank of index space x. | |
| int | ny () const |
| Rank of index space y. | |
| const DistArray4Storage & | storage () const |
| physical storage of the integrals. The default storage is XY. Storage is not mutable. | |
| size_t | blocksize () const |
| Size of each block of the integrals of one type, in double words. | |
| size_t | blksize () const |
| int | ij_index (int i, int j) const |
| int | tasks_with_access (std::vector< int > &twa_map) const |
| Returns the total number of tasks with access to integrals. More... | |
| const Ref< MessageGrp > & | msg () const |
| bool | active () const |
Public Member Functions inherited from sc::SavableState | |
| SavableState & | operator= (const SavableState &) |
| void | save_state (StateOut &) |
| Save the state of the object as specified by the StateOut object. More... | |
| void | save_object_state (StateOut &) |
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
| virtual void | save_vbase_state (StateOut &) |
| Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
| DescribedClass (const DescribedClass &) | |
| DescribedClass & | operator= (const DescribedClass &) |
| ClassDesc * | class_desc () const MPQC__NOEXCEPT |
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
| const char * | class_name () const |
| Return the name of the object's exact type. | |
| int | class_version () const |
| Return the version of the class. | |
| virtual void | print (std::ostream &=ExEnv::out0()) const |
| Print the object. | |
| Ref< DescribedClass > | ref () |
| Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
| size_t | identifier () const |
| Return the unique identifier for this object that can be compared for different objects of different types. More... | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| void | unmanage () |
| Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Public Types inherited from sc::DistArray4 | |
| typedef unsigned int | tbint_type |
| Types of two-body operators that DistArray4 understands. | |
Static Public Member Functions inherited from sc::SavableState | |
| static void | save_state (SavableState *s, StateOut &) |
| static SavableState * | restore_state (StateIn &si) |
| Restores objects saved with save_state. More... | |
| static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
| Like restore_state, but keyword is used to override values while restoring. | |
| static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Static Public Attributes inherited from sc::DistArray4 | |
| static const unsigned int | max_num_te_types = 14 |
Protected Types inherited from sc::DistArray4_MPIIOFile | |
| typedef Registry< std::string, int, detail::NonsingletonCreationPolicy > | ListOfClones |
Protected Member Functions inherited from sc::DistArray4_MPIIOFile | |
| void | set_clonelist (const Ref< ListOfClones > &cl) |
| void | check_error_code_ (int errcod) const |
| Utility function to check MPI I/O error codes. | |
| void | init (bool restart) |
| Initialization tasks common to all constructors. | |
| int | ij_proc (int i, int j) const |
Protected Member Functions inherited from sc::DistArray4 | |
| size_t | nxy () const |
| int | ntasks () const |
| total number of tasks | |
| int | me () const |
| rank of this task | |
| int | classdebug () const |
| return debug level for this class | |
Protected Member Functions inherited from sc::SavableState | |
| SavableState (const SavableState &) | |
| SavableState (StateIn &) | |
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::DistArray4_MPIIOFile | |
| size_t | nints_per_block_ |
| char * | filename_ |
| MPI_File | datafile_ |
| Ref< ListOfClones > | clonelist_ |
| struct sc::DistArray4_MPIIOFile::PairBlkInfo * | pairblk_ |
DistArray4_MPIIOFile_Ind handles transformed integrals stored in a binary file accessed through MPI-IO individual I/O routines.
The ordering of integrals in blocks is not specified to avoid having to reorder integrals Each pair block has size of num_te_types*nbasis*nbasis
|
virtual |
how to clone.
optional dim allows to obtain an object of the same type but different size. the default is to obtain an object of the same size.
Implements sc::DistArray4.
|
virtual |
Retrieves an ij block of integrals.
Note that it comes stored according to storage(). No locking is performed.
| buf | specifies the buffer in which to write the data (if not provided, will allocate dynamically). this buffer will be used by subsequent retrieve_pair_block() requests until release_pair_block() is called. |
Implements sc::DistArray4.
|
virtual |
Retrieves a rectangular subblock of ij block of integrals.
Implements sc::DistArray4.
|
virtual |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::DistArray4_MPIIOFile.
|
virtual |
Stores an ij pair block of integrals.
It is assumed to be stored according to storage(). It does not have to be "local", i.e. is_local(i,j) can be false, but:
Implements sc::DistArray4.
|
virtual |
Stores an rectangular subblock of ij block of integrals.
Most efficient if the block is contiguous, i.e. yfence - ystart = ny().
Implements sc::DistArray4.