|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <DiscField.h>
Public Member Functions | |
| DiscField (const char *fname, const char *config, unsigned int numFields, const char *typestr=0) | |
| DiscField (const char *fname, unsigned int numFields, const char *typestr=0) | |
| DiscField (const char *fname, const char *config) | |
| DiscField (const char *fname) | |
| ~DiscField () | |
| void | query (int &numRecords, int &numFields, std::vector< int > &size) const |
| unsigned int | get_NumRecords () const |
| unsigned int | get_NumFields () const |
| NDIndex< Dim > | get_Domain () const |
| unsigned int | get_Dimension () const |
| const char * | get_TypeString () |
| const char * | get_DiscType () |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f, const NDIndex< Dim > &readDomain, unsigned int varID, unsigned int record) |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f, unsigned int varID, unsigned int record) |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f, const NDIndex< Dim > &readDomain, unsigned int varID) |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f, unsigned int varID) |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f, const NDIndex< Dim > &readDomain) |
| template<class T, class M, class C> | |
| bool | read (Field< T, Dim, M, C > &f) |
| template<class T, class M, class C> | |
| bool | write (Field< T, Dim, M, C > &f, unsigned int varID) |
| template<class T, class M, class C> | |
| bool | write (Field< T, Dim, M, C > &f) |
| void | printDebug (std::ostream &) |
| void | printDebug () |
Private Types | |
| typedef vmap< NDIndex< Dim >, int > | GlobalIDList_t |
| typedef long long | Offset_t |
Private Member Functions | |
| void | initialize (const char *base, const char *config, const char *typestr, unsigned int numFields) |
| FILE * | open_df_file (const std::string &fnm, const std::string &mode) |
| FILE * | open_df_file (const std::string &fnm, const std::string &suffix, const std::string &mode) |
| int | open_df_file_fd (const std::string &fnm, const std::string &suf, int flags) |
| bool | create_files () |
| unsigned int | numSMPs () const |
| unsigned int | fileSMPs () const |
| unsigned int | mySMP () const |
| unsigned int | myBox0 () const |
| unsigned int | numFiles () const |
| unsigned int | numFiles (unsigned int s) const |
| unsigned int | pNodesPerSMP (unsigned int node) const |
| bool | parse_config (const char *, bool) |
| int | compute_expected (const FieldLayout< Dim > &, const NDIndex< Dim > &) |
| bool | make_globalID (FieldLayout< Dim > &) |
| NDIndex< Dim > | chunk_domain (const NDIndex< Dim > &currblock, int chunkelems, int &msdim, bool iscompressed) |
| bool | write_meta () |
| bool | read_meta () |
| bool | read_NDIndex (FILE *, NDIndex< Dim > &) |
| bool | write_NDIndex (FILE *, const NDIndex< Dim > &) |
| bool | write_layout () |
| int | read_layout (int record, int sf) |
| template<class T> | |
| void | write_offset_and_data (FILE *outputOffset, int outputDatafd, CompressedBrickIterator< T, Dim > &cbi, const NDIndex< Dim > &owned) |
| template<class T> | |
| bool | read_offset (unsigned int varID, unsigned int record, unsigned int sf, std::vector< DFOffsetData< Dim, T > > &offdata, int vnodes) |
| template<class T> | |
| void | distribute_offsets (std::vector< DFOffsetData< Dim, T > > &offdata, int &vnodes, int &maxsize, const NDIndex< Dim > &readDomain) |
| template<class T> | |
| bool | read_data (int outputDatafd, T *buffer, Offset_t readsize, Offset_t seekpos) |
| template<class T> | |
| void | offset_data_to_domain (DFOffsetData< Dim, T > &offdata, NDIndex< Dim > &domain) |
| template<class T> | |
| void | domain_to_offset_data (const NDIndex< Dim > &domain, DFOffsetData< Dim, T > &offdata) |
| DiscField (const DiscField< Dim > &) | |
| DiscField & | operator= (const DiscField< Dim > &) |
Private Attributes | |
| DiscConfig * | Config |
| bool | ConfigOK |
| bool | WritingFile |
| std::string | BaseFile |
| std::string | TypeString |
| std::string | DiscType |
| unsigned int | DataDimension |
| int | NeedStartRecord |
| unsigned int | NumFields |
| unsigned int | NumRecords |
| unsigned int | NumWritten |
| Offset_t | CurrentOffset |
| NDIndex< Dim > | Size |
| std::vector< bool > | ValidField |
| std::vector< int > * | VnodeTally |
| std::vector< int > * | NumVnodes |
| GlobalIDList_t | globalID |
Definition at line 49 of file DiscField.h.
Definition at line 848 of file DiscField.h.
Definition at line 849 of file DiscField.h.
| DiscField< Dim >::DiscField | ( | const char * | fname, |
| const char * | config, | ||
| unsigned int | numFields, | ||
| const char * | typestr = 0 ) |
Definition at line 52 of file DiscField.hpp.
References initialize().
Referenced by DiscField(), and operator=().
| DiscField< Dim >::DiscField | ( | const char * | fname, |
| unsigned int | numFields, | ||
| const char * | typestr = 0 ) |
Definition at line 64 of file DiscField.hpp.
References initialize().
Definition at line 76 of file DiscField.hpp.
References initialize().
Definition at line 87 of file DiscField.hpp.
References initialize().
Definition at line 142 of file DiscField.hpp.
References Config, NumVnodes, and VnodeTally.
|
private |
Definition at line 873 of file DiscField.hpp.
References Dim, and NDIndex< Dim >::size().
Referenced by distribute_offsets(), and read().
|
private |
Definition at line 849 of file DiscField.hpp.
References FieldLayout< Dim >::begin_iv(), FieldLayout< Dim >::end_iv(), NDIndex< Dim >::intersect(), NDIndex< Dim >::size(), and NDIndex< Dim >::touches().
Referenced by read().
Definition at line 257 of file DiscField.hpp.
References IpplInfo::abort(), Config, endl(), ERRORMSG, open_df_file(), and open_df_file_fd().
Referenced by parse_config().
|
inlineprivate |
Definition at line 1253 of file DiscField.h.
References IpplInfo::abort(), chunk_domain(), IpplInfo::chunkSize(), IpplInfo::Comm, Config, DF_OFFSET_TAG, DF_TAG_CYCLE, Dim, Message::get(), getMessage_iter(), myBox0(), IpplInfo::myNode(), mySMP(), offset_data_to_domain(), IpplInfo::perSMPParallelIO(), pNodesPerSMP(), Message::put(), Message::putmsg(), Message::setCopy(), Message::setDelete(), NDIndex< Dim >::size(), and NDIndex< Dim >::touches().
Referenced by read().
|
inlineprivate |
Definition at line 1447 of file DiscField.h.
References Dim, and DFOffsetData< Dim, T >::vnodedata.
Referenced by write_offset_and_data().
Definition at line 948 of file DiscField.h.
References Config.
Referenced by read_meta(), and write_meta().
Definition at line 108 of file DiscField.h.
References DataDimension.
Definition at line 114 of file DiscField.h.
References DiscType.
Definition at line 98 of file DiscField.h.
References NumFields.
Definition at line 95 of file DiscField.h.
References NumRecords.
Definition at line 111 of file DiscField.h.
References TypeString.
|
private |
Definition at line 96 of file DiscField.hpp.
References BaseFile, ConfigOK, CurrentOffset, DataDimension, Dim, DiscType, NeedStartRecord, NumFields, NumRecords, NumVnodes, NumWritten, parse_config(), read_meta(), TypeString, ValidField, VnodeTally, and WritingFile.
Referenced by DiscField(), DiscField(), DiscField(), and DiscField().
|
private |
Definition at line 303 of file DiscField.hpp.
References FieldLayout< Dim >::begin_iv(), FieldLayout< Dim >::begin_rdv(), Config, FieldLayout< Dim >::end_iv(), FieldLayout< Dim >::end_rdv(), FieldLayout< Dim >::getDomain(), globalID, mySMP(), and Size.
Referenced by write().
Definition at line 958 of file DiscField.h.
References Config.
Referenced by distribute_offsets(), parse_config(), query(), read(), read_meta(), and write().
Definition at line 953 of file DiscField.h.
References Config.
Referenced by distribute_offsets(), make_globalID(), and read_meta().
Definition at line 964 of file DiscField.h.
References Config.
Referenced by parse_config(), query(), read(), read_meta(), write(), write_layout(), and write_meta().
|
inlineprivate |
Definition at line 967 of file DiscField.h.
References Config.
Definition at line 943 of file DiscField.h.
References Config.
|
inlineprivate |
Definition at line 1432 of file DiscField.h.
References Dim, and DFOffsetData< Dim, T >::vnodedata.
Referenced by distribute_offsets(), and read().
|
private |
Definition at line 179 of file DiscField.hpp.
References IpplInfo::abort(), endl(), ERRORMSG, and IpplInfo::myNode().
Referenced by create_files(), read_layout(), read_offset(), write(), write_layout(), and write_meta().
|
private |
Definition at line 223 of file DiscField.hpp.
References IpplInfo::abort(), endl(), ERRORMSG, and IpplInfo::myNode().
|
private |
Definition at line 196 of file DiscField.hpp.
References endl(), ERRORMSG, and IpplInfo::myNode().
Referenced by create_files(), read(), and write().
|
private |
Definition at line 373 of file DiscField.hpp.
References IpplInfo::abort(), BaseFile, Config, create_files(), endl(), ERRORMSG, myBox0(), IpplInfo::myNode(), numFiles(), NumVnodes, and VnodeTally.
Referenced by initialize().
Definition at line 414 of file DiscField.hpp.
References printDebug().
Definition at line 417 of file DiscField.hpp.
References BaseFile, Config, endl(), INFORM_ALL_NODES, NumFields, NumRecords, and TypeString.
Referenced by printDebug().
| void DiscField< Dim >::query | ( | int & | numRecords, |
| int & | numFields, | ||
| std::vector< int > & | size ) const |
Definition at line 160 of file DiscField.hpp.
References myBox0(), IpplInfo::myNode(), NumFields, numFiles(), NumRecords, and NumVnodes.
|
inline |
Definition at line 593 of file DiscField.h.
References FieldLayout< Dim >::getDomain(), BareField< T, Dim >::getLayout(), and read().
|
inline |
Definition at line 588 of file DiscField.h.
References read().
|
inline |
Definition at line 577 of file DiscField.h.
References read().
|
inline |
Definition at line 140 of file DiscField.h.
References a, IpplInfo::abort(), LField< T, Dim >::begin(), BareField< T, Dim >::begin_if(), chunk_domain(), IpplInfo::chunkSize(), IpplInfo::Comm, COMM_ANY_TAG, BareField< T, Dim >::Compress(), LField< T, Dim >::Compress(), BareField< T, Dim >::compressible(), compute_expected(), Config, ConfigOK, NDIndex< Dim >::contains(), DataDimension, DF_READ_TAG, DF_TAG_CYCLE, Dim, distribute_offsets(), BareField< T, Dim >::end_if(), endl(), ERRORMSG, BareField< T, Dim >::fillGuardCellsIfNotDirty(), get_Domain(), LField< T, Dim >::getAllocated(), FieldLayout< Dim >::getDomain(), BareField< T, Dim >::getLayout(), NDIndex< Dim >::getMessage(), LField< T, Dim >::getOwned(), IpplTimings::getTimer(), NDIndex< Dim >::intersect(), LField< T, Dim >::IsCompressed(), myBox0(), IpplInfo::myNode(), NumFields, numFiles(), NumRecords, offset_data_to_domain(), open_df_file_fd(), PETE_apply(), NDIndex< Dim >::putMessage(), read_data(), read_layout(), read_offset(), DiscBuffer::resize(), BareField< T, Dim >::setDirtyFlag(), NDIndex< Dim >::size(), IpplTimings::startTimer(), IpplTimings::stopTimer(), FieldLayout< Dim >::touch_range_rdv(), NDIndex< Dim >::touches(), LField< T, Dim >::Uncompress(), and WritingFile.
Referenced by read(), read(), read(), read(), read(), and read_data().
|
inline |
Definition at line 583 of file DiscField.h.
References FieldLayout< Dim >::getDomain(), BareField< T, Dim >::getLayout(), and read().
|
inline |
Definition at line 572 of file DiscField.h.
References FieldLayout< Dim >::getDomain(), BareField< T, Dim >::getLayout(), and read().
|
inlineprivate |
Definition at line 1383 of file DiscField.h.
References IpplInfo::abort(), Timer::clear(), Timer::clock_time(), endl(), ERRORMSG, PAssert, PAssert_EQ, PAssert_GE, PAssert_GT, read(), DiscBuffer::readbytes, DiscBuffer::readtime, Timer::start(), and Timer::stop().
Referenced by read().
Definition at line 799 of file DiscField.hpp.
References IpplInfo::abort(), Config, Dim, endl(), ERRORMSG, open_df_file(), and VnodeTally.
Referenced by read().
Definition at line 493 of file DiscField.hpp.
References IpplInfo::abort(), begin(), DiscMeta::begin(), IpplInfo::Comm, Config, DataDimension, DF_READ_META_TAG, DF_TAG_CYCLE, Dim, DiscMeta::end(), end(), endl(), ERRORMSG, fileSMPs(), Message::get(), getMessage(), myBox0(), IpplInfo::myNode(), mySMP(), NumFields, numFiles(), NumRecords, NumVnodes, PAssert, Message::put(), putMessage(), Size, DiscMeta::size(), TypeString, and VnodeTally.
Referenced by initialize().
|
private |
Definition at line 679 of file DiscField.hpp.
References IpplInfo::abort(), Dim, endl(), and ERRORMSG.
|
inlineprivate |
Definition at line 1166 of file DiscField.h.
References IpplInfo::abort(), Config, endl(), ERRORMSG, NumFields, NumVnodes, open_df_file(), and VnodeTally.
Referenced by read().
|
inline |
Definition at line 833 of file DiscField.h.
References write().
|
inline |
Definition at line 615 of file DiscField.h.
References IpplInfo::abort(), LField< T, Dim >::begin(), BareField< T, Dim >::begin_if(), IpplInfo::Comm, COMM_ANY_NODE, Config, ConfigOK, BareField< T, Dim >::end_if(), endl(), ERRORMSG, FB_TAG_CYCLE, FB_WRITE_TAG, get_Domain(), FieldLayout< Dim >::getDomain(), BareField< T, Dim >::getLayout(), NDIndex< Dim >::getMessage(), LField< T, Dim >::getOwned(), globalID, make_globalID(), myBox0(), IpplInfo::myNode(), NeedStartRecord, NumFields, numFiles(), NumRecords, NumVnodes, NumWritten, open_df_file(), open_df_file_fd(), NDIndex< Dim >::putMessage(), FieldLayout< Dim >::size_iv(), ValidField, VnodeTally, write_layout(), write_meta(), write_offset_and_data(), and WritingFile.
Referenced by write(), and write_offset_and_data().
Definition at line 760 of file DiscField.hpp.
References IpplInfo::abort(), Config, endl(), ERRORMSG, globalID, numFiles(), NumRecords, open_df_file(), and write_NDIndex().
Referenced by write().
Definition at line 447 of file DiscField.hpp.
References Config, Dim, fileSMPs(), NumFields, numFiles(), NumRecords, NumVnodes, open_df_file(), Size, TypeString, and VnodeTally.
Referenced by write().
|
inlineprivate |
Definition at line 1039 of file DiscField.h.
References IpplInfo::abort(), IpplInfo::chunkSize(), Timer::clear(), Timer::clock_time(), DFOffsetData< Dim, T >::compressedVal, CurrentOffset, domain_to_offset_data(), endl(), ERRORMSG, CompressedBrickIterator< T, Dim >::IsCompressed(), DFOffsetData< Dim, T >::isCompressed, DFOffsetData< Dim, T >::offset, DiscBuffer::resize(), NDIndex< Dim >::size(), Timer::start(), Timer::stop(), BrickIterator< T, Dim >::whole(), write(), DiscBuffer::writebytes, and DiscBuffer::writetime.
Referenced by write().
Definition at line 863 of file DiscField.h.
Referenced by initialize(), parse_config(), and printDebug().
|
private |
Definition at line 856 of file DiscField.h.
Referenced by create_files(), distribute_offsets(), fileSMPs(), make_globalID(), myBox0(), mySMP(), numFiles(), numFiles(), numSMPs(), parse_config(), pNodesPerSMP(), printDebug(), read(), read_layout(), read_meta(), read_offset(), write(), write_layout(), write_meta(), and ~DiscField().
Definition at line 857 of file DiscField.h.
Referenced by initialize(), read(), and write().
Definition at line 887 of file DiscField.h.
Referenced by initialize(), and write_offset_and_data().
Definition at line 868 of file DiscField.h.
Referenced by get_Dimension(), initialize(), read(), and read_meta().
Definition at line 865 of file DiscField.h.
Referenced by get_DiscType(), and initialize().
|
private |
Definition at line 914 of file DiscField.h.
Referenced by make_globalID(), write(), and write_layout().
Definition at line 877 of file DiscField.h.
Referenced by initialize(), and write().
Definition at line 881 of file DiscField.h.
Referenced by get_NumFields(), initialize(), printDebug(), query(), read(), read_meta(), read_offset(), write(), and write_meta().
Definition at line 882 of file DiscField.h.
Referenced by get_NumRecords(), initialize(), printDebug(), query(), read(), read_meta(), write(), write_layout(), and write_meta().
Definition at line 905 of file DiscField.h.
Referenced by initialize(), parse_config(), query(), read_meta(), read_offset(), write(), write_meta(), and ~DiscField().
Definition at line 883 of file DiscField.h.
Referenced by initialize(), and write().
Definition at line 890 of file DiscField.h.
Referenced by get_Domain(), make_globalID(), read_meta(), and write_meta().
Definition at line 864 of file DiscField.h.
Referenced by get_TypeString(), initialize(), printDebug(), read_meta(), and write_meta().
Definition at line 893 of file DiscField.h.
Referenced by initialize(), and write().
Definition at line 899 of file DiscField.h.
Referenced by initialize(), parse_config(), read_layout(), read_meta(), read_offset(), write(), write_meta(), and ~DiscField().
Definition at line 860 of file DiscField.h.
Referenced by initialize(), read(), and write().