Fonctions membres publiques | |
ReduceMemoryImpl (RunCommandImpl *p) | |
void * | allocateReduceDataMemory (ConstMemoryView identity_view) override |
Alloue la mémoire pour une donnée dont on veut faire une réduction et remplit la zone avec la valeur de identity_view. | |
void | setGridSizeAndAllocate (Int32 grid_size) override |
Positionne la taille de la grille GPU (le nombre de blocs) | |
Int32 | gridSize () const override |
Taille de la grille GPU (nombre de blocs) | |
GridMemoryInfo | gridMemoryInfo () override |
Informations sur la mémoire utilisée par la réduction. | |
void | copyReduceValueFromDevice () override |
Copie la valeur réduite depuis le device vers l'hote. | |
void | release () override |
Libère l'instance. | |
Fonctions membres privées | |
void | _allocateGridDataMemory () |
void | _allocateMemoryForGridDeviceCount () |
void | _setReducePolicy () |
void | _allocateMemoryForReduceData (Int32 new_size) |
Attributs privés | |
RunCommandImpl * | m_command = nullptr |
std::byte * | m_device_memory = nullptr |
Pointeur vers la mémoire unifiée contenant la donnée réduite. | |
UniqueArray< std::byte > | m_device_memory_bytes |
Allocation pour la donnée réduite en mémoire managée. | |
UniqueArray< std::byte > | m_host_memory_bytes |
Allocation pour la donnée réduite en mémoire hôte. | |
Int64 | m_size = 0 |
Taille allouée pour m_device_memory. | |
Int32 | m_grid_size = 0 |
Taille courante de la grille (nombre de blocs) | |
Int64 | m_data_type_size = 0 |
Taille de la donnée actuelle. | |
GridMemoryInfo | m_grid_memory_info |
UniqueArray< Byte > | m_grid_buffer |
Tableau contenant la valeur de la réduction pour chaque bloc d'une grille. | |
UniqueArray< std::byte > | m_identity_buffer |
Buffer pour conserver la valeur de l'identité | |
UniqueArray< unsigned int > | m_grid_device_count |
Tableau de 1 entier non signé contenant le nombre de grilles ayant déja effectuée la réduction. | |
Définition à la ligne 30 du fichier ReduceMemoryImpl.h.
|
explicit |
Définition à la ligne 42 du fichier ReduceMemoryImpl.cc.
|
private |
Définition à la ligne 96 du fichier ReduceMemoryImpl.cc.
|
private |
Définition à la ligne 114 du fichier ReduceMemoryImpl.cc.
|
inlineprivate |
Définition à la ligne 96 du fichier ReduceMemoryImpl.h.
|
private |
Définition à la ligne 66 du fichier ReduceMemoryImpl.cc.
|
overridevirtual |
Alloue la mémoire pour une donnée dont on veut faire une réduction et remplit la zone avec la valeur de identity_view.
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 75 du fichier ReduceMemoryImpl.cc.
|
overridevirtual |
Copie la valeur réduite depuis le device vers l'hote.
La valeur sera copié de gridMemoryInfo().m_device_memory_for_reduced_value vers gridMemoryInfo().m_host_memory_for_reduced_value
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 134 du fichier ReduceMemoryImpl.cc.
|
inlineoverridevirtual |
Informations sur la mémoire utilisée par la réduction.
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 48 du fichier ReduceMemoryImpl.h.
|
inlineoverridevirtual |
Taille de la grille GPU (nombre de blocs)
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 46 du fichier ReduceMemoryImpl.h.
Références m_grid_size.
|
overridevirtual |
Libère l'instance.
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 57 du fichier ReduceMemoryImpl.cc.
|
inlineoverridevirtual |
Positionne la taille de la grille GPU (le nombre de blocs)
Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.
Définition à la ligne 40 du fichier ReduceMemoryImpl.h.
Références m_grid_size.
|
private |
Définition à la ligne 57 du fichier ReduceMemoryImpl.h.
|
private |
Taille de la donnée actuelle.
Définition à la ligne 75 du fichier ReduceMemoryImpl.h.
|
private |
Pointeur vers la mémoire unifiée contenant la donnée réduite.
Définition à la ligne 60 du fichier ReduceMemoryImpl.h.
|
private |
Allocation pour la donnée réduite en mémoire managée.
Définition à la ligne 63 du fichier ReduceMemoryImpl.h.
|
private |
Tableau contenant la valeur de la réduction pour chaque bloc d'une grille.
Définition à la ligne 80 du fichier ReduceMemoryImpl.h.
|
private |
Tableau de 1 entier non signé contenant le nombre de grilles ayant déja effectuée la réduction.
Définition à la ligne 89 du fichier ReduceMemoryImpl.h.
|
private |
Définition à la ligne 77 du fichier ReduceMemoryImpl.h.
|
private |
Taille courante de la grille (nombre de blocs)
Définition à la ligne 72 du fichier ReduceMemoryImpl.h.
Référencé par gridSize(), et setGridSizeAndAllocate().
|
private |
Allocation pour la donnée réduite en mémoire hôte.
Définition à la ligne 66 du fichier ReduceMemoryImpl.h.
|
private |
Buffer pour conserver la valeur de l'identité
Définition à la ligne 83 du fichier ReduceMemoryImpl.h.
|
private |
Taille allouée pour m_device_memory.
Définition à la ligne 69 du fichier ReduceMemoryImpl.h.