Arcane  v4.1.4.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::DynamicMachineMemoryWindowMemoryAllocator
+ Graphe d'héritage de Arcane::DynamicMachineMemoryWindowMemoryAllocator:
+ Graphe de collaboration de Arcane::DynamicMachineMemoryWindowMemoryAllocator:

Fonctions membres publiques

 DynamicMachineMemoryWindowMemoryAllocator (IParallelMng *pm)
 
AllocatedMemoryInfo allocate (MemoryAllocationArgs, Int64 new_size) override
 Alloue de la mémoire pour new_size octets et retourne le pointeur.
 
AllocatedMemoryInfo reallocate (MemoryAllocationArgs, AllocatedMemoryInfo current_ptr, Int64 new_size) override
 Réalloue de la mémoire pour new_size octets et retourne le pointeur.
 
void deallocate (MemoryAllocationArgs, AllocatedMemoryInfo ptr) override
 Libère la mémoire dont l'adresse de base est ptr.
 
Int64 adjustedCapacity (MemoryAllocationArgs, Int64 wanted_capacity, Int64) const override
 Ajuste la capacité suivant la taille d'élément.
 
size_t guaranteedAlignment (MemoryAllocationArgs) const override
 Valeur de l'alignement garanti par l'allocateur.
 
- Fonctions membres publiques hérités de Arcane::IMemoryAllocator
virtual ~IMemoryAllocator ()=default
 Détruit l'allocateur.
 
virtual bool hasRealloc (MemoryAllocationArgs) const
 Indique si l'allocateur supporte la sémantique de realloc.
 
virtual size_t guarantedAlignment (MemoryAllocationArgs args) const
 Valeur de l'alignement garanti par l'allocateur.
 
virtual void notifyMemoryArgsChanged (MemoryAllocationArgs old_args, MemoryAllocationArgs new_args, AllocatedMemoryInfo ptr)
 Notifie du changement des arguments spécifiques à l'instance.
 
virtual void copyMemory (MemoryAllocationArgs args, AllocatedMemoryInfo destination, AllocatedMemoryInfo source)
 Copie la mémoire entre deux zones.
 
virtual eMemoryResource memoryResource () const
 Ressource mémoire fournie par l'allocateur.
 

Fonctions membres publiques statiques

static ConstArrayView< Int32machineRanks (AllocatedMemoryInfo ptr)
 
static void barrier (AllocatedMemoryInfo ptr)
 
static Span< std::byte > segmentView (AllocatedMemoryInfo ptr)
 
static Span< std::byte > segmentView (AllocatedMemoryInfo ptr, Int32 rank)
 

Fonctions membres privées statiques

static DynamicMachineMemoryWindowBase_windowBase (AllocatedMemoryInfo ptr)
 

Attributs privés

IParallelMngm_pm
 

Description détaillée

Définition à la ligne 37 du fichier DynamicMachineMemoryWindowMemoryAllocator.h.

Documentation des constructeurs et destructeur

◆ DynamicMachineMemoryWindowMemoryAllocator()

Arcane::DynamicMachineMemoryWindowMemoryAllocator::DynamicMachineMemoryWindowMemoryAllocator ( IParallelMng * pm)
explicit

Définition à la ligne 34 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

Documentation des fonctions membres

◆ _windowBase()

DynamicMachineMemoryWindowBase * Arcane::DynamicMachineMemoryWindowMemoryAllocator::_windowBase ( AllocatedMemoryInfo ptr)
staticprivate

Définition à la ligne 174 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

◆ adjustedCapacity()

Int64 Arcane::DynamicMachineMemoryWindowMemoryAllocator::adjustedCapacity ( MemoryAllocationArgs args,
Int64 wanted_capacity,
Int64 element_size ) const
inlineoverridevirtual

Ajuste la capacité suivant la taille d'élément.

Cette méthode est utilisée pour éventuellement modifié le nombre d'éléments alloués suivant leur taille. Cela permet par exemple pour les allocateurs alignés de garantir que le nombre d'éléments alloués est un multiple de cet alignement.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 50 du fichier DynamicMachineMemoryWindowMemoryAllocator.h.

◆ allocate()

AllocatedMemoryInfo Arcane::DynamicMachineMemoryWindowMemoryAllocator::allocate ( MemoryAllocationArgs args,
Int64 new_size )
overridevirtual

Alloue de la mémoire pour new_size octets et retourne le pointeur.

La sémantique est équivalent à malloc():

  • new_size peut valoir zéro et dans ce cas le pointeur retourné est soit nul, soit une valeur spécifique
  • le pointeur retourné peut être nul si la mémoire n'a pas pu être allouée.

Implémente Arcane::IMemoryAllocator.

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

Référencé par reallocate().

+ Voici le graphe des appelants de cette fonction :

◆ barrier()

void Arcane::DynamicMachineMemoryWindowMemoryAllocator::barrier ( AllocatedMemoryInfo ptr)
static

Définition à la ligne 143 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

◆ deallocate()

void Arcane::DynamicMachineMemoryWindowMemoryAllocator::deallocate ( MemoryAllocationArgs args,
AllocatedMemoryInfo ptr )
overridevirtual

Libère la mémoire dont l'adresse de base est ptr.

Le pointeur ptr doit avoir été alloué via l'appel à allocate() ou reallocate() de cette instance.

La sémantique de cette méthode équivalente à free() et donc ptr peut être nul auquel cas aucune opération n'est effectuée.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 112 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

Références Arcane::AllocatedMemoryInfo::baseAddress(), Arcane::SpanImpl< T, SizeType, Extent >::data(), Arcane::DynamicMachineMemoryWindowBase::segmentView(), Arcane::AllocatedMemoryInfo::size(), et Arcane::SpanImpl< T, SizeType, Extent >::size().

+ Voici le graphe d'appel pour cette fonction :

◆ guaranteedAlignment()

size_t Arcane::DynamicMachineMemoryWindowMemoryAllocator::guaranteedAlignment ( MemoryAllocationArgs args) const
inlineoverridevirtual

Valeur de l'alignement garanti par l'allocateur.

Cette méthode permet de s'assurer qu'un allocateur a un alignement suffisant pour certaines opérations comme la vectorisation par exemple.

S'il n'y a aucune garantie, retourne 0.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 54 du fichier DynamicMachineMemoryWindowMemoryAllocator.h.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::DynamicMachineMemoryWindowMemoryAllocator::machineRanks ( AllocatedMemoryInfo ptr)
static

Définition à la ligne 134 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

◆ reallocate()

AllocatedMemoryInfo Arcane::DynamicMachineMemoryWindowMemoryAllocator::reallocate ( MemoryAllocationArgs args,
AllocatedMemoryInfo current_ptr,
Int64 new_size )
overridevirtual

Réalloue de la mémoire pour new_size octets et retourne le pointeur.

Le pointeur current_ptr doit avoir été alloué via l'appel à allocate() ou reallocate() de cette instance.

La sémantique de cette méthode est équivalente à realloc():

  • current_ptr peut-être nul auquel cas cet appel est équivalent à allocate().
  • le pointeur retourné peut être nul si la mémoire n'a pas pu être allouée.

Implémente Arcane::IMemoryAllocator.

Définition à la ligne 74 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

Références allocate(), Arcane::AllocatedMemoryInfo::baseAddress(), Arcane::SpanImpl< T, SizeType, Extent >::data(), Arcane::DynamicMachineMemoryWindowBase::resize(), Arcane::DynamicMachineMemoryWindowBase::segmentView(), et Arcane::SpanImpl< T, SizeType, Extent >::size().

+ Voici le graphe d'appel pour cette fonction :

◆ segmentView() [1/2]

Span< std::byte > Arcane::DynamicMachineMemoryWindowMemoryAllocator::segmentView ( AllocatedMemoryInfo ptr)
static

Définition à la ligne 152 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

◆ segmentView() [2/2]

Span< std::byte > Arcane::DynamicMachineMemoryWindowMemoryAllocator::segmentView ( AllocatedMemoryInfo ptr,
Int32 rank )
static

Définition à la ligne 163 du fichier DynamicMachineMemoryWindowMemoryAllocator.cc.

Documentation des données membres

◆ m_pm

IParallelMng* Arcane::DynamicMachineMemoryWindowMemoryAllocator::m_pm
private

Définition à la ligne 72 du fichier DynamicMachineMemoryWindowMemoryAllocator.h.


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