Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Accelerator::impl::ReduceMemoryImpl
+ Graphe d'héritage de Arcane::Accelerator::impl::ReduceMemoryImpl:
+ Graphe de collaboration de Arcane::Accelerator::impl::ReduceMemoryImpl:

Fonctions membres publiques

 ReduceMemoryImpl (RunCommandImpl *p)
 
voidallocateReduceDataMemory (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

RunCommandImplm_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< Bytem_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 intm_grid_device_count
 Tableau de 1 entier non signé contenant le nombre de grilles ayant déja effectuée la réduction.
 

Description détaillée

Définition à la ligne 30 du fichier ReduceMemoryImpl.h.

Documentation des constructeurs et destructeur

◆ ReduceMemoryImpl()

Arcane::Accelerator::impl::ReduceMemoryImpl::ReduceMemoryImpl ( RunCommandImpl p)
explicit

Définition à la ligne 42 du fichier ReduceMemoryImpl.cc.

Documentation des fonctions membres

◆ _allocateGridDataMemory()

void Arcane::Accelerator::impl::ReduceMemoryImpl::_allocateGridDataMemory ( )
private

Définition à la ligne 96 du fichier ReduceMemoryImpl.cc.

◆ _allocateMemoryForGridDeviceCount()

void Arcane::Accelerator::impl::ReduceMemoryImpl::_allocateMemoryForGridDeviceCount ( )
private

Définition à la ligne 114 du fichier ReduceMemoryImpl.cc.

◆ _allocateMemoryForReduceData()

void Arcane::Accelerator::impl::ReduceMemoryImpl::_allocateMemoryForReduceData ( Int32  new_size)
inlineprivate

Définition à la ligne 96 du fichier ReduceMemoryImpl.h.

◆ _setReducePolicy()

void Arcane::Accelerator::impl::ReduceMemoryImpl::_setReducePolicy ( )
private

Définition à la ligne 66 du fichier ReduceMemoryImpl.cc.

◆ allocateReduceDataMemory()

void * Arcane::Accelerator::impl::ReduceMemoryImpl::allocateReduceDataMemory ( ConstMemoryView  identity_view)
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.

◆ copyReduceValueFromDevice()

void Arcane::Accelerator::impl::ReduceMemoryImpl::copyReduceValueFromDevice ( )
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.

◆ gridMemoryInfo()

GridMemoryInfo Arcane::Accelerator::impl::ReduceMemoryImpl::gridMemoryInfo ( )
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.

◆ gridSize()

Int32 Arcane::Accelerator::impl::ReduceMemoryImpl::gridSize ( ) const
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.

◆ release()

void Arcane::Accelerator::impl::ReduceMemoryImpl::release ( )
overridevirtual

Libère l'instance.

Implémente Arcane::Accelerator::impl::IReduceMemoryImpl.

Définition à la ligne 57 du fichier ReduceMemoryImpl.cc.

◆ setGridSizeAndAllocate()

void Arcane::Accelerator::impl::ReduceMemoryImpl::setGridSizeAndAllocate ( Int32  grid_size)
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.

Documentation des données membres

◆ m_command

RunCommandImpl* Arcane::Accelerator::impl::ReduceMemoryImpl::m_command = nullptr
private

Définition à la ligne 57 du fichier ReduceMemoryImpl.h.

◆ m_data_type_size

Int64 Arcane::Accelerator::impl::ReduceMemoryImpl::m_data_type_size = 0
private

Taille de la donnée actuelle.

Définition à la ligne 75 du fichier ReduceMemoryImpl.h.

◆ m_device_memory

std::byte* Arcane::Accelerator::impl::ReduceMemoryImpl::m_device_memory = nullptr
private

Pointeur vers la mémoire unifiée contenant la donnée réduite.

Définition à la ligne 60 du fichier ReduceMemoryImpl.h.

◆ m_device_memory_bytes

UniqueArray<std::byte> Arcane::Accelerator::impl::ReduceMemoryImpl::m_device_memory_bytes
private

Allocation pour la donnée réduite en mémoire managée.

Définition à la ligne 63 du fichier ReduceMemoryImpl.h.

◆ m_grid_buffer

UniqueArray<Byte> Arcane::Accelerator::impl::ReduceMemoryImpl::m_grid_buffer
private

Tableau contenant la valeur de la réduction pour chaque bloc d'une grille.

Définition à la ligne 80 du fichier ReduceMemoryImpl.h.

◆ m_grid_device_count

UniqueArray<unsigned int> Arcane::Accelerator::impl::ReduceMemoryImpl::m_grid_device_count
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.

◆ m_grid_memory_info

GridMemoryInfo Arcane::Accelerator::impl::ReduceMemoryImpl::m_grid_memory_info
private

Définition à la ligne 77 du fichier ReduceMemoryImpl.h.

◆ m_grid_size

Int32 Arcane::Accelerator::impl::ReduceMemoryImpl::m_grid_size = 0
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().

◆ m_host_memory_bytes

UniqueArray<std::byte> Arcane::Accelerator::impl::ReduceMemoryImpl::m_host_memory_bytes
private

Allocation pour la donnée réduite en mémoire hôte.

Définition à la ligne 66 du fichier ReduceMemoryImpl.h.

◆ m_identity_buffer

UniqueArray<std::byte> Arcane::Accelerator::impl::ReduceMemoryImpl::m_identity_buffer
private

Buffer pour conserver la valeur de l'identité

Définition à la ligne 83 du fichier ReduceMemoryImpl.h.

◆ m_size

Int64 Arcane::Accelerator::impl::ReduceMemoryImpl::m_size = 0
private

Taille allouée pour m_device_memory.

Définition à la ligne 69 du fichier ReduceMemoryImpl.h.


La documentation de cette classe a été générée à partir des fichiers suivants :