Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Materials::IMeshMaterialSynchronizeBuffer Class Referenceabstract

Interface for buffers for material variable synchronization. More...

#include <arcane/materials/IMeshMaterialSynchronizeBuffer.h>

Inheritance diagram for Arcane::Materials::IMeshMaterialSynchronizeBuffer:
Collaboration diagram for Arcane::Materials::IMeshMaterialSynchronizeBuffer:

Public Member Functions

virtual Int32 nbRank () const =0
 Number of ranks.
virtual void setNbRank (Int32 nb_rank)=0
 Sets the number of ranks. This invalidates the send and receive buffers.
virtual Span< BytesendBuffer (Int32 i)=0
 Send buffer for the i-th buffer.
virtual void setSendBufferSize (Int32 i, Int32 new_size)=0
 Sets the number of elements for the i-th send buffer.
virtual Span< BytereceiveBuffer (Int32 i)=0
 Send buffer for the i-th buffer.
virtual void setReceiveBufferSize (Int32 i, Int32 new_size)=0
 Sets the number of elements for the i-th receive buffer.
virtual void allocate ()=0
 Allocates memory for the buffers.
virtual Int64 totalSize () const =0
 Total size allocated for the buffers.

Detailed Description

Interface for buffers for material variable synchronization.

To use instances of this interface, proceed as follows:

  1. Set the number of ranks via setNbRank().
  2. For each buffer, call setSendBufferSize() and setReceiveBufferSize() to indicate the number of elements in each buffer.
  3. Call allocate() to allocate the buffers.
  4. Retrieve views on the buffers via sendBuffer() or receiveBuffer().

Definition at line 45 of file IMeshMaterialSynchronizeBuffer.h.

Constructor & Destructor Documentation

◆ ~IMeshMaterialSynchronizeBuffer()

virtual Arcane::Materials::IMeshMaterialSynchronizeBuffer::~IMeshMaterialSynchronizeBuffer ( )
inlinevirtual

Definition at line 49 of file IMeshMaterialSynchronizeBuffer.h.

Member Function Documentation

◆ allocate()

virtual void Arcane::Materials::IMeshMaterialSynchronizeBuffer::allocate ( )
pure virtual

◆ nbRank()

virtual Int32 Arcane::Materials::IMeshMaterialSynchronizeBuffer::nbRank ( ) const
pure virtual

◆ receiveBuffer()

virtual Span< Byte > Arcane::Materials::IMeshMaterialSynchronizeBuffer::receiveBuffer ( Int32 i)
pure virtual

◆ sendBuffer()

virtual Span< Byte > Arcane::Materials::IMeshMaterialSynchronizeBuffer::sendBuffer ( Int32 i)
pure virtual

◆ setNbRank()

virtual void Arcane::Materials::IMeshMaterialSynchronizeBuffer::setNbRank ( Int32 nb_rank)
pure virtual

Sets the number of ranks. This invalidates the send and receive buffers.

Implemented in Arcane::Materials::MultiBufferMeshMaterialSynchronizeBuffer, and Arcane::Materials::OneBufferMeshMaterialSynchronizeBuffer.

◆ setReceiveBufferSize()

virtual void Arcane::Materials::IMeshMaterialSynchronizeBuffer::setReceiveBufferSize ( Int32 i,
Int32 new_size )
pure virtual

Sets the number of elements for the i-th receive buffer.

Implemented in Arcane::Materials::MultiBufferMeshMaterialSynchronizeBuffer, and Arcane::Materials::OneBufferMeshMaterialSynchronizeBuffer.

◆ setSendBufferSize()

virtual void Arcane::Materials::IMeshMaterialSynchronizeBuffer::setSendBufferSize ( Int32 i,
Int32 new_size )
pure virtual

Sets the number of elements for the i-th send buffer.

Implemented in Arcane::Materials::MultiBufferMeshMaterialSynchronizeBuffer, and Arcane::Materials::OneBufferMeshMaterialSynchronizeBuffer.

◆ totalSize()

virtual Int64 Arcane::Materials::IMeshMaterialSynchronizeBuffer::totalSize ( ) const
pure virtual

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