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

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

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

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

Fonctions membres publiques

IMemoryAllocatorgetAllocator (eMemoryRessource r) override
 Allocateur mémoire pour la ressource r.
 
IMemoryAllocatorgetAllocator (eMemoryRessource r, bool throw_if_not_found) override
 Allocateur mémoire pour la ressource r.
 
void copy (ConstMemoryView from, eMemoryRessource from_mem, MutableMemoryView to, eMemoryRessource to_mem, const RunQueue *queue) override
 
void setAllocator (eMemoryRessource 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 _checkValidRessource (eMemoryRessource r)
 

Attributs privés

FixedArray< IMemoryAllocator *, NB_MEMORY_RESSOURCE > 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 MemoryRessourceMng.h.

Documentation des constructeurs et destructeur

◆ MemoryRessourceMng()

Arcane::MemoryRessourceMng::MemoryRessourceMng ( )

Définition à la ligne 99 du fichier MemoryRessourceMng.cc.

Documentation des fonctions membres

◆ _checkValidRessource()

int Arcane::MemoryRessourceMng::_checkValidRessource ( eMemoryRessource  r)
inlineprivate

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

◆ _internal()

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

Interface interne.

Implémente Arcane::IMemoryRessourceMng.

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

◆ copy()

void Arcane::MemoryRessourceMng::copy ( ConstMemoryView  from,
eMemoryRessource  from_mem,
MutableMemoryView  to,
eMemoryRessource  to_mem,
const RunQueue queue 
)
overridevirtual

Implémente Arcane::IMemoryRessourceMngInternal.

Définition à la ligne 170 du fichier MemoryRessourceMng.cc.

◆ genericCopy()

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

◆ getAllocator() [1/2]

IMemoryAllocator * Arcane::MemoryRessourceMng::getAllocator ( eMemoryRessource  r)
overridevirtual

Allocateur mémoire pour la ressource r.

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

Implémente Arcane::IMemoryRessourceMng.

Définition à la ligne 151 du fichier MemoryRessourceMng.cc.

Références getAllocator().

Référencé par getAllocator().

◆ getAllocator() [2/2]

IMemoryAllocator * Arcane::MemoryRessourceMng::getAllocator ( eMemoryRessource  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::IMemoryRessourceMng.

Définition à la ligne 126 du fichier MemoryRessourceMng.cc.

Références ARCANE_FATAL, Arcane::platform::getAcceleratorHostMemoryAllocator(), Arcane::Host, Arcane::HostPinned, et Arcane::UnifiedMemory.

◆ setAllocator()

void Arcane::MemoryRessourceMng::setAllocator ( eMemoryRessource  r,
IMemoryAllocator allocator 
)
overridevirtual

Positionne l'allocateur pour la ressource r.

Implémente Arcane::IMemoryRessourceMngInternal.

Définition à la ligne 160 du fichier MemoryRessourceMng.cc.

◆ setCopier()

void Arcane::MemoryRessourceMng::setCopier ( IMemoryCopier copier)
inlineoverridevirtual

Positionne l'instance gérant les copies.

Implémente Arcane::IMemoryRessourceMngInternal.

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

◆ setIsAccelerator()

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

Indique si un accélérateur est disponible.

Implémente Arcane::IMemoryRessourceMngInternal.

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

Documentation des données membres

◆ m_allocators

FixedArray<IMemoryAllocator*, NB_MEMORY_RESSOURCE> Arcane::MemoryRessourceMng::m_allocators
private

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

◆ m_copier

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

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

◆ m_default_memory_copier

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

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

◆ m_is_accelerator

bool Arcane::MemoryRessourceMng::m_is_accelerator = false
private

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


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