|
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. | |
| Ref< DistArray4 > | clone (const DistArray4Dimensions &dim=DistArray4Dimensions::default_dim()) |
| helps to implement clone of Derived class | |
| void | store_pair_block (int i, int j, tbint_type oper_type, const double *ints) |
| Stores an ij pair block of integrals. | |
| 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. | |
| const double * | retrieve_pair_block (int i, int j, tbint_type oper_type, double *buf=0) const |
| Retrieves an ij block of integrals. | |
| 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. | |
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
| const double* sc::DistArray4_MPIIOFile_Ind::retrieve_pair_block | ( | int | i, |
| int | j, | ||
| tbint_type | oper_type, | ||
| double * | buf = 0 |
||
| ) | const [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.
| void sc::DistArray4_MPIIOFile_Ind::retrieve_pair_subblock | ( | int | i, |
| int | j, | ||
| tbint_type | oper_type, | ||
| int | xstart, | ||
| int | xfence, | ||
| int | ystart, | ||
| int | yfence, | ||
| double * | buf | ||
| ) | const [virtual] |
Retrieves a rectangular subblock of ij block of integrals.
Implements sc::DistArray4.
| void sc::DistArray4_MPIIOFile_Ind::save_data_state | ( | StateOut & | ) | [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.
| void sc::DistArray4_MPIIOFile_Ind::store_pair_block | ( | int | i, |
| int | j, | ||
| tbint_type | oper_type, | ||
| const double * | ints | ||
| ) | [virtual] |
Stores an ij pair block of integrals.
It is assumed to be stored according to storage(). It must also be "local", i.e. is_local(i,j) must be true. No locking is performed.
Implements sc::DistArray4.
| void sc::DistArray4_MPIIOFile_Ind::store_pair_subblock | ( | int | i, |
| int | j, | ||
| tbint_type | oper_type, | ||
| int | xstart, | ||
| int | xfence, | ||
| int | ystart, | ||
| int | yfence, | ||
| const double * | ints | ||
| ) | [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.