Template Numerical Library version\ main:bb09b17
|
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 |
|
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 >.
|
inlinenodiscardoverridevirtual |