#include <Schema_Comm_Vecteurs.h>
|
| | Schema_Comm_Vecteurs () |
| | ~Schema_Comm_Vecteurs () |
| void | begin_init () |
| | Resets buffer sizes.
|
| template<typename _TYPE_> |
| void | add_send_area_template (int pe, int size) |
| template<typename _TYPE_> |
| void | add_recv_area_template (int pe, int size) |
| template<typename _TYPE_> |
| TRUSTArray< _TYPE_ > & | get_next_area_template (int pe, int array_size) |
| void | end_init () |
| | Once the data to exchange has been declared with add_send/recv_area_..(),.
|
| void | begin_comm (bool bufferOnDevice=false) |
| | Starts a new data exchange (buffer sizes must have been initialized with begin_init()...end_init()).
|
| void | exchange (IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname") |
| void | end_comm () |
| template<> |
| void | add_send_area_template (int pe, int size) |
| template<> |
| void | add_send_area_template (int pe, int size) |
| template<> |
| void | add_send_area_template (int pe, int size) |
| template<> |
| void | add_recv_area_template (int pe, int size) |
| template<> |
| void | add_recv_area_template (int pe, int size) |
| template<> |
| void | add_recv_area_template (int pe, int size) |
| template<> |
| ArrOfInt & | get_next_area_template (int pe, int size) |
| | Returns an array containing the next "size" values received from processor pe during the current communication.
|
| template<> |
| ArrOfDouble & | get_next_area_template (int pe, int size) |
| template<> |
| ArrOfFloat & | get_next_area_template (int pe, int size) |
|
| void | add (int pe, int size, ArrOfInt &procs, ArrOfInt &buf_sizes, int align_size) |
| int | check_buffers_full () const |
| | Depending on status_, verifies that all buffer pointers point to the end of the buffer allocated for each processor in send.
|
| int | check_next_area (int pe, int byte_size) const |
| | Verifies that there are at least byte_size bytes remaining in the buffer of processor pe.
|
Definition at line 56 of file Schema_Comm_Vecteurs.h.
◆ Status
◆ Schema_Comm_Vecteurs()
| Schema_Comm_Vecteurs::Schema_Comm_Vecteurs |
( |
| ) |
|
◆ ~Schema_Comm_Vecteurs()
| Schema_Comm_Vecteurs::~Schema_Comm_Vecteurs |
( |
| ) |
|
◆ add()
| void Schema_Comm_Vecteurs::add |
( |
int | pe, |
|
|
int | size, |
|
|
ArrOfInt & | procs, |
|
|
ArrOfInt & | buf_sizes, |
|
|
int | align_size ) |
|
inlineprotected |
◆ add_recv_area_template() [1/4]
template<>
| void Schema_Comm_Vecteurs::add_recv_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_recv_area_template() [2/4]
template<>
| void Schema_Comm_Vecteurs::add_recv_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_recv_area_template() [3/4]
template<>
| void Schema_Comm_Vecteurs::add_recv_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_recv_area_template() [4/4]
template<typename _TYPE_>
| void Schema_Comm_Vecteurs::add_recv_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_send_area_template() [1/4]
template<>
| void Schema_Comm_Vecteurs::add_send_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_send_area_template() [2/4]
template<>
| void Schema_Comm_Vecteurs::add_send_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_send_area_template() [3/4]
template<>
| void Schema_Comm_Vecteurs::add_send_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ add_send_area_template() [4/4]
template<typename _TYPE_>
| void Schema_Comm_Vecteurs::add_send_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ begin_comm()
| void Schema_Comm_Vecteurs::begin_comm |
( |
bool | bufferOnDevice = false | ) |
|
Starts a new data exchange (buffer sizes must have been initialized with begin_init()...end_init()).
Sets sdata_.buf_pointers_ to the beginning of the buffers for each processor for which a "send" buffer was declared. After begin_comm(), the buffers must be filled using get_next_area_int() or get_next_area_double() in the same order as declared during the initialization phase, then exchange() must be called.
Definition at line 206 of file Schema_Comm_Vecteurs.cpp.
◆ begin_init()
| void Schema_Comm_Vecteurs::begin_init |
( |
| ) |
|
Resets buffer sizes.
Buffer sizes must then be defined with add_send/recv_area_...(). This method must be called simultaneously on all processors in the group.
Definition at line 113 of file Schema_Comm_Vecteurs.cpp.
◆ check_buffers_full()
| int Schema_Comm_Vecteurs::check_buffers_full |
( |
| ) |
const |
|
protected |
Depending on status_, verifies that all buffer pointers point to the end of the buffer allocated for each processor in send.
or receive mode. Returns 0 on error (if a buffer has not been completely filled or emptied).
Definition at line 324 of file Schema_Comm_Vecteurs.cpp.
◆ check_next_area()
| int Schema_Comm_Vecteurs::check_next_area |
( |
int | pe, |
|
|
int | byte_size ) const |
|
protected |
Verifies that there are at least byte_size bytes remaining in the buffer of processor pe.
Definition at line 376 of file Schema_Comm_Vecteurs.cpp.
◆ CleanMyStaticViews()
| void Schema_Comm_Vecteurs::CleanMyStaticViews |
( |
| ) |
|
|
inlinestatic |
◆ end_comm()
| void Schema_Comm_Vecteurs::end_comm |
( |
| ) |
|
◆ end_init()
| void Schema_Comm_Vecteurs::end_init |
( |
| ) |
|
Once the data to exchange has been declared with add_send/recv_area_..(),.
initializes buffer offsets and allocates a global buffer of sufficient size. Must be called by all processors in the group.
Definition at line 140 of file Schema_Comm_Vecteurs.cpp.
◆ exchange()
| void Schema_Comm_Vecteurs::exchange |
( |
IsExchangeBlocking | exchange_type = IsExchangeBlocking::DefaultBlocking, |
|
|
const std::string | kernel_name = "noname" ) |
◆ get_next_area_template() [1/4]
template<typename _TYPE_>
| TRUSTArray< _TYPE_ > & Schema_Comm_Vecteurs::get_next_area_template |
( |
int | pe, |
|
|
int | array_size ) |
|
inline |
◆ get_next_area_template() [2/4]
template<>
| ArrOfFloat & Schema_Comm_Vecteurs::get_next_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ get_next_area_template() [3/4]
template<>
| ArrOfDouble & Schema_Comm_Vecteurs::get_next_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
◆ get_next_area_template() [4/4]
template<>
| ArrOfInt & Schema_Comm_Vecteurs::get_next_area_template |
( |
int | pe, |
|
|
int | size ) |
|
inline |
Returns an array containing the next "size" values received from processor pe during the current communication.
Warning: The returned array is a reference to an internal array that is only valid until the next call to a get_next_xxx method.
Definition at line 236 of file Schema_Comm_Vecteurs.h.
◆ buffer_locked_
| bool Schema_Comm_Vecteurs::buffer_locked_ |
|
staticprotected |
◆ bufferOnDevice_
| bool Schema_Comm_Vecteurs::bufferOnDevice_ = false |
|
protected |
◆ min_buf_size_
| int Schema_Comm_Vecteurs::min_buf_size_ = -1 |
|
protected |
◆ recv_buf_sizes_
| ArrOfInt Schema_Comm_Vecteurs::recv_buf_sizes_ |
|
protected |
◆ recv_procs_
| ArrOfInt Schema_Comm_Vecteurs::recv_procs_ |
|
protected |
◆ sdata_
◆ send_buf_sizes_
| ArrOfInt Schema_Comm_Vecteurs::send_buf_sizes_ |
|
protected |
◆ send_procs_
| ArrOfInt Schema_Comm_Vecteurs::send_procs_ |
|
protected |
◆ sorted_
| int Schema_Comm_Vecteurs::sorted_ = 1 |
|
protected |
◆ status_
| Status Schema_Comm_Vecteurs::status_ |
|
protected |
◆ tmp_area_double_
| ArrOfDouble Schema_Comm_Vecteurs::tmp_area_double_ |
|
staticprotected |
◆ tmp_area_float_
| ArrOfFloat Schema_Comm_Vecteurs::tmp_area_float_ |
|
staticprotected |
◆ tmp_area_int_
| ArrOfInt Schema_Comm_Vecteurs::tmp_area_int_ |
|
staticprotected |
◆ use_gpu_aware_mpi_
| bool Schema_Comm_Vecteurs::use_gpu_aware_mpi_ = false |
|
protected |
The documentation for this class was generated from the following files: