Arcane  v3.15.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
 
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 hérités de Arcane::IMemoryRessourceMngInternal
virtual void copy (ConstMemoryView from, eMemoryRessource from_mem, MutableMemoryView to, eMemoryRessource to_mem, const RunQueue *queue)=0
 
virtual void setAllocator (eMemoryRessource r, IMemoryAllocator *allocator)=0
 Positionne l'allocateur pour la ressource r.
 

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 
)
override

Définition à la ligne 148 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 163 du fichier MemoryResourceMng.cc.

Références Arcane::MemoryUtils::getDataMemoryResourceMng().

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

◆ 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 129 du fichier MemoryResourceMng.cc.

Références getAllocator().

Référencé par getAllocator().

◆ 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, et Arcane::MemoryUtils::getDefaultDataAllocator().

◆ setAllocator()

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

Définition à la ligne 138 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 :