Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ParallelDataReader::Impl Class Reference

Parallel reading. More...

Inheritance diagram for Arcane::ParallelDataReader::Impl:
Collaboration diagram for Arcane::ParallelDataReader::Impl:

Public Member Functions

 Impl (IParallelMng *pm)
Int64ArraywrittenUniqueIds ()
Int64ArraywantedUniqueIds ()
void sort ()
void getSortedValues (IData *written_data, IData *data)
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Private Member Functions

void _searchUniqueIdIndexes (Int64ConstArrayView recv_uids, Int64ConstArrayView written_unique_ids, Int32Array &indexes) const

Private Attributes

IParallelMngm_parallel_mng = nullptr
Int32UniqueArray m_data_to_send_ranks
UniqueArray< SharedArray< Int32 > > m_data_to_send_local_indexes
UniqueArray< SharedArray< Int32 > > m_data_to_recv_indexes
Int64UniqueArray m_written_unique_ids
Int64UniqueArray m_wanted_unique_ids
Int32UniqueArray m_local_send_indexes

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Parallel reading.

An instance of this class is associated with a mesh group.

To use it, each rank of IParallelMng must specify:

  • the list of uids it wants, to be filled in wantedUniqueIds()
  • the list sorted in ascending order of uids managed by this rank, to be filled in writtenUniqueIds(). Once this is done, the sort() method must be called to calculate the information needed for sending and receiving values.

The instance is then usable for all variables that rely on this group, and getSortedValues() must be called to retrieve the values for a variable.

Definition at line 55 of file ParallelDataReader.cc.

Constructor & Destructor Documentation

◆ Impl()

Arcane::ParallelDataReader::Impl::Impl ( IParallelMng * pm)
explicit

Definition at line 136 of file ParallelDataReader.cc.

Member Function Documentation

◆ _searchUniqueIdIndexes()

void Arcane::ParallelDataReader::Impl::_searchUniqueIdIndexes ( Int64ConstArrayView recv_uids,
Int64ConstArrayView written_unique_ids,
Int32Array & indexes ) const
private

Definition at line 329 of file ParallelDataReader.cc.

◆ getSortedValues()

void Arcane::ParallelDataReader::Impl::getSortedValues ( IData * written_data,
IData * data )

Definition at line 263 of file ParallelDataReader.cc.

◆ sort()

void Arcane::ParallelDataReader::Impl::sort ( )

Definition at line 146 of file ParallelDataReader.cc.

◆ wantedUniqueIds()

Int64Array & Arcane::ParallelDataReader::Impl::wantedUniqueIds ( )
inline

Definition at line 65 of file ParallelDataReader.cc.

◆ writtenUniqueIds()

Int64Array & Arcane::ParallelDataReader::Impl::writtenUniqueIds ( )
inline

Definition at line 64 of file ParallelDataReader.cc.

Member Data Documentation

◆ m_data_to_recv_indexes

UniqueArray<SharedArray<Int32> > Arcane::ParallelDataReader::Impl::m_data_to_recv_indexes
private

Definition at line 74 of file ParallelDataReader.cc.

◆ m_data_to_send_local_indexes

UniqueArray<SharedArray<Int32> > Arcane::ParallelDataReader::Impl::m_data_to_send_local_indexes
private

Definition at line 73 of file ParallelDataReader.cc.

◆ m_data_to_send_ranks

Int32UniqueArray Arcane::ParallelDataReader::Impl::m_data_to_send_ranks
private

Definition at line 71 of file ParallelDataReader.cc.

◆ m_local_send_indexes

Int32UniqueArray Arcane::ParallelDataReader::Impl::m_local_send_indexes
private

Definition at line 77 of file ParallelDataReader.cc.

◆ m_parallel_mng

IParallelMng* Arcane::ParallelDataReader::Impl::m_parallel_mng = nullptr
private

Definition at line 69 of file ParallelDataReader.cc.

◆ m_wanted_unique_ids

Int64UniqueArray Arcane::ParallelDataReader::Impl::m_wanted_unique_ids
private

Definition at line 76 of file ParallelDataReader.cc.

◆ m_written_unique_ids

Int64UniqueArray Arcane::ParallelDataReader::Impl::m_written_unique_ids
private

Definition at line 75 of file ParallelDataReader.cc.


The documentation for this class was generated from the following file: