#include <Schema_Comm_Vecteurs.h>
|
| | Schema_Comm_Vecteurs () |
| | ~Schema_Comm_Vecteurs () |
| void | begin_init () |
| | Reinitialise les tailles de buffers.
|
| 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 () |
| | Une fois les donnees a echanger declarees avec add_send/recv_area_.
|
| void | begin_comm (bool bufferOnDevice=false) |
| | Commence un nouvel echange de donnees (les tailles de buffers doivent avoir ete initialisees avec begin_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) |
| | renvoie un tableau contenant les "size" valeurs suivantes recues du processeur pe lors de la communication en cours.
|
| 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 |
| | Selon status_, verifie que tous les pointeurs de buffers pointent a la fin du buffer aloue pour chaque processeur en emission.
|
| int | check_next_area (int pe, int byte_size) const |
| | verifie qu'il reste au moins byte_size octets dans le buffer du processeur 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 | ) |
|
Commence un nouvel echange de donnees (les tailles de buffers doivent avoir ete initialisees avec begin_init() .
.. end_init()) On place les sdata_.buf_pointers_ au debut des buffers pour chaque processeur pour lequel un buffer a ete declare en "send" Apres begin_comm(), il faut remplir les buffers en utilisant get_next_area_int() ou get_next_area_double() dans le meme ordre que celui declare dans la phase d'initialisation, puis appeler exchange()
Definition at line 209 of file Schema_Comm_Vecteurs.cpp.
◆ begin_init()
| void Schema_Comm_Vecteurs::begin_init |
( |
| ) |
|
Reinitialise les tailles de buffers.
Il faut ensuite definir les tailles de buffers avec add_send/recv_area_...() Cette methode doit etre appelee simultanement sur tous les processeurs du groupe.
Definition at line 113 of file Schema_Comm_Vecteurs.cpp.
◆ check_buffers_full()
| int Schema_Comm_Vecteurs::check_buffers_full |
( |
| ) |
const |
|
protected |
Selon status_, verifie que tous les pointeurs de buffers pointent a la fin du buffer aloue pour chaque processeur en emission.
ou reception. Renvoie 0 en cas d'erreur (si un buffer n'a pas ete entierement rempli ou vide)
Definition at line 327 of file Schema_Comm_Vecteurs.cpp.
◆ check_next_area()
| int Schema_Comm_Vecteurs::check_next_area |
( |
int | pe, |
|
|
int | byte_size ) const |
|
protected |
◆ CleanMyStaticViews()
| void Schema_Comm_Vecteurs::CleanMyStaticViews |
( |
| ) |
|
|
inlinestatic |
◆ end_comm()
| void Schema_Comm_Vecteurs::end_comm |
( |
| ) |
|
◆ end_init()
| void Schema_Comm_Vecteurs::end_init |
( |
| ) |
|
Une fois les donnees a echanger declarees avec add_send/recv_area_.
..(), initialise les offset de buffers et alloue un buffer global de taille suffisante. Methode a appeler par tous les processeurs du groupe.
Definition at line 141 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 |
renvoie un tableau contenant les "size" valeurs suivantes recues du processeur pe lors de la communication en cours.
Attention: Le tableau renvoye est une reference a un tableau interne qui n'est valide que jusqu'au prochain appel a une methode get_next_xxx.
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:
- /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Utilitaires/Schema_Comm_Vecteurs.h
- /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Utilitaires/Schema_Comm_Vecteurs.cpp