Gestion des ressources mémoire pour les CPU et accélérateurs. Plus de détails...
#include <arcane/utils/internal/MemoryResourceMng.h>
Fonctions membres publiques | |
IMemoryAllocator * | getAllocator (eMemoryResource r) override |
Allocateur mémoire pour la ressource r. | |
IMemoryAllocator * | getAllocator (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< IMemoryCopier > | m_default_memory_copier |
IMemoryCopier * | m_copier = nullptr |
bool | m_is_accelerator = false |
Gestion des ressources mémoire pour les CPU et accélérateurs.
Définition à la ligne 35 du fichier MemoryResourceMng.h.
Arcane::MemoryResourceMng::MemoryResourceMng | ( | ) |
Définition à la ligne 77 du fichier MemoryResourceMng.cc.
|
inlineprivate |
Définition à la ligne 92 du fichier MemoryResourceMng.cc.
|
inlineoverridevirtual |
Interface interne.
Implémente Arcane::IMemoryResourceMng.
Définition à la ligne 62 du fichier MemoryResourceMng.h.
|
override |
Définition à la ligne 148 du fichier MemoryResourceMng.cc.
|
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().
|
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().
|
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().
|
override |
Définition à la ligne 138 du fichier MemoryResourceMng.cc.
|
inlineoverridevirtual |
Positionne l'instance gérant les copies.
Implémente Arcane::IMemoryRessourceMngInternal.
Définition à la ligne 56 du fichier MemoryResourceMng.h.
Indique si un accélérateur est disponible.
Implémente Arcane::IMemoryRessourceMngInternal.
Définition à la ligne 57 du fichier MemoryResourceMng.h.
|
private |
Définition à la ligne 71 du fichier MemoryResourceMng.h.
|
private |
Définition à la ligne 73 du fichier MemoryResourceMng.h.
|
private |
Définition à la ligne 72 du fichier MemoryResourceMng.h.
Définition à la ligne 74 du fichier MemoryResourceMng.h.