Template Numerical Library: TNL::Containers::DistributedArraySynchronizer< DistributedArray > Class Template Reference

Template Numerical Library version\ main:16b9213d5

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
TNL::Containers::DistributedArraySynchronizer< DistributedArray > Class Template Reference
Inheritance diagram for TNL::Containers::DistributedArraySynchronizer< DistributedArray >:
[legend]
Collaboration diagram for TNL::Containers::DistributedArraySynchronizer< DistributedArray >:
[legend]

## Public Types
using | ByteArrayView = typename Base::ByteArrayView
using | RequestsVector = typename Base::RequestsVector
Public Types inherited from TNL::Containers::ByteArraySynchronizer< DistributedArray::DeviceType, DistributedArray::IndexType >
enum | AsyncPolicy
using | ByteArrayView
using | RequestsVector

## Public Member Functions
| DistributedArraySynchronizer (SubrangeType localRange, int overlaps, MPI::Comm communicator)
void | synchronizeByteArray (ByteArrayView array, int bytesPerValue) override
| Main synchronization function.
RequestsVector | synchronizeByteArrayAsyncWorker (ByteArrayView array, int bytesPerValue) override
Public Member Functions inherited from TNL::Containers::ByteArraySynchronizer< DistributedArray::DeviceType, DistributedArray::IndexType >
void | synchronizeByteArrayAsync (ByteArrayView array, int bytesPerValue, AsyncPolicy policy=AsyncPolicy::synchronous)
| An asynchronous version of synchronizeByteArray.

## Additional Inherited Members
Public Attributes inherited from TNL::Containers::ByteArraySynchronizer< DistributedArray::DeviceType, DistributedArray::IndexType >
std::future< void > | async_op
| Can be used for checking if a synchronization started asynchronously has been finished.
std::size_t | async_ops_count
Timer | async_start_timer
Timer | async_wait_before_start_timer
Timer | async_wait_timer

## Member Function Documentation

## ◆ synchronizeByteArray()

template<typename DistributedArray>

void TNL::Containers::DistributedArraySynchronizer< DistributedArray >::synchronizeByteArray | ( | ByteArrayView | array,
|  | int | bytesPerValue )
| inlineoverridevirtual

Main synchronization function.

This is only a pure virtual function – the functionality must be implemented in a subclass.

Implements TNL::Containers::ByteArraySynchronizer< DistributedArray::DeviceType, DistributedArray::IndexType >.

## ◆ synchronizeByteArrayAsyncWorker()

template<typename DistributedArray>

RequestsVector TNL::Containers::DistributedArraySynchronizer< DistributedArray >::synchronizeByteArrayAsyncWorker | ( | ByteArrayView | array,
|  | int | bytesPerValue )
| inlinenodiscardoverridevirtual

Implements TNL::Containers::ByteArraySynchronizer< DistributedArray::DeviceType, DistributedArray::IndexType >.

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

- src/TNL/Containers/DistributedArraySynchronizer.h