Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MemoryResourceMng

Gestion des ressources mémoire pour les CPU et accélérateurs. Plus de détails...

#include <arcane/utils/internal/MemoryResourceMng.h>

+ Graphe d'héritage de Arcane::MemoryResourceMng:
+ Graphe de collaboration de Arcane::MemoryResourceMng:

Fonctions membres publiques

IMemoryAllocatorgetAllocator (eMemoryResource r) override
 Allocateur mémoire pour la ressource r.
 
IMemoryAllocatorgetAllocator (eMemoryResource r, bool throw_if_not_found) override
 Allocateur mémoire pour la ressource r.
 
void copy (ConstMemoryView from, eMemoryResource from_mem, MutableMemoryView to, eMemoryResource to_mem, const RunQueue *queue) override
 
void setAllocator (eMemoryResource r, IMemoryAllocator *allocator) override
 Positionne l'allocateur pour la ressource r.
 
void setCopier (IMemoryCopier *copier) override
 Positionne l'instance gérant les copies.
 
void setIsAccelerator (bool v) override
 Indique si un accélérateur est disponible.
 
IMemoryRessourceMngInternal_internal () override
 Interface interne.
 

Fonctions membres publiques statiques

static void genericCopy (ConstMemoryView from, MutableMemoryView to)
 Copie générique utilisant platform::getDataMemoryRessourceMng()
 

Fonctions membres privées

int _checkValidResource (eMemoryResource r)
 

Attributs privés

FixedArray< IMemoryAllocator *, Arccore::ARCCORE_NB_MEMORY_RESOURCE > m_allocators
 
std::unique_ptr< IMemoryCopierm_default_memory_copier
 
IMemoryCopierm_copier = nullptr
 
bool m_is_accelerator = false
 

Description détaillée

Gestion des ressources mémoire pour les CPU et accélérateurs.

Définition à la ligne 35 du fichier MemoryResourceMng.h.

Documentation des constructeurs et destructeur

◆ MemoryResourceMng()

Arcane::MemoryResourceMng::MemoryResourceMng ( )

Définition à la ligne 77 du fichier MemoryResourceMng.cc.

Documentation des fonctions membres

◆ _checkValidResource()

int Arcane::MemoryResourceMng::_checkValidResource ( eMemoryResource r)
inlineprivate

Définition à la ligne 92 du fichier MemoryResourceMng.cc.

◆ _internal()

IMemoryRessourceMngInternal * Arcane::MemoryResourceMng::_internal ( )
inlineoverridevirtual

Interface interne.

Implémente Arcane::IMemoryResourceMng.

Définition à la ligne 62 du fichier MemoryResourceMng.h.

◆ copy()

void Arcane::MemoryResourceMng::copy ( ConstMemoryView from,
eMemoryResource from_mem,
MutableMemoryView to,
eMemoryResource to_mem,
const RunQueue * queue )
overridevirtual

Implémente Arcane::IMemoryRessourceMngInternal.

Définition à la ligne 149 du fichier MemoryResourceMng.cc.

◆ genericCopy()

void Arcane::MemoryResourceMng::genericCopy ( ConstMemoryView from,
MutableMemoryView to )
static

Copie générique utilisant platform::getDataMemoryRessourceMng()

Définition à la ligne 164 du fichier MemoryResourceMng.cc.

Références Arcane::IMemoryResourceMng::_internal(), Arcane::MemoryUtils::getDataMemoryResourceMng(), et Arcane::Unknown.

Référencé par Arcane::MessagePassing::SharedMemoryMessageRequest::copyFromSender().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ getAllocator() [1/2]

IMemoryAllocator * Arcane::MemoryResourceMng::getAllocator ( eMemoryResource r)
overridevirtual

Allocateur mémoire pour la ressource r.

Lève une exception si aucun allocateur pour la ressource v existe.

Implémente Arcane::IMemoryResourceMng.

Définition à la ligne 130 du fichier MemoryResourceMng.cc.

Références getAllocator().

Référencé par getAllocator().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ getAllocator() [2/2]

IMemoryAllocator * Arcane::MemoryResourceMng::getAllocator ( eMemoryResource r,
bool throw_if_not_found )
overridevirtual

Allocateur mémoire pour la ressource r.

Si aucun allocateur pour la ressoruce v existe, lève une exception si throw_if_not_found est vrai ou retourne nullptr si throw_if_not_found est faux.

Implémente Arcane::IMemoryResourceMng.

Définition à la ligne 104 du fichier MemoryResourceMng.cc.

Références ARCANE_FATAL, Arcane::MemoryUtils::getDefaultDataMemoryResource(), Arcane::Host, Arcane::HostPinned, et Arcane::UnifiedMemory.

+ Voici le graphe d'appel pour cette fonction :

◆ setAllocator()

void Arcane::MemoryResourceMng::setAllocator ( eMemoryResource r,
IMemoryAllocator * allocator )
overridevirtual

Positionne l'allocateur pour la ressource r.

Implémente Arcane::IMemoryRessourceMngInternal.

Définition à la ligne 139 du fichier MemoryResourceMng.cc.

◆ setCopier()

void Arcane::MemoryResourceMng::setCopier ( IMemoryCopier * copier)
inlineoverridevirtual

Positionne l'instance gérant les copies.

Implémente Arcane::IMemoryRessourceMngInternal.

Définition à la ligne 56 du fichier MemoryResourceMng.h.

◆ setIsAccelerator()

void Arcane::MemoryResourceMng::setIsAccelerator ( bool v)
inlineoverridevirtual

Indique si un accélérateur est disponible.

Implémente Arcane::IMemoryRessourceMngInternal.

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

Documentation des données membres

◆ m_allocators

FixedArray<IMemoryAllocator*, Arccore::ARCCORE_NB_MEMORY_RESOURCE> Arcane::MemoryResourceMng::m_allocators
private

Définition à la ligne 71 du fichier MemoryResourceMng.h.

◆ m_copier

IMemoryCopier* Arcane::MemoryResourceMng::m_copier = nullptr
private

Définition à la ligne 73 du fichier MemoryResourceMng.h.

◆ m_default_memory_copier

std::unique_ptr<IMemoryCopier> Arcane::MemoryResourceMng::m_default_memory_copier
private

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

◆ m_is_accelerator

bool Arcane::MemoryResourceMng::m_is_accelerator = false
private

Définition à la ligne 74 du fichier MemoryResourceMng.h.


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