12#ifndef ARCCORE_COMMON_INTERNAL_MEMORYRESOURCEMNG_H
13#define ARCCORE_COMMON_INTERNAL_MEMORYRESOURCEMNG_H
17#include "arccore/base/FixedArray.h"
19#include "arccore/common/IMemoryResourceMng.h"
20#include "arccore/common/internal/IMemoryResourceMngInternal.h"
36class ARCCORE_COMMON_EXPORT MemoryResourceMng
78 std::unique_ptr<IMemoryCopier> m_default_memory_copier;
80 bool m_is_accelerator =
false;
File d'exécution pour un accélérateur.
Vue constante sur une zone mémoire contigue contenant des éléments de taille fixe.
Tableau 1D de taille fixe.
Interface d'un allocateur pour la mémoire.
Interface pour les copies mémoire avec support des accélérateurs.
Interface d'un pool mémoire.
Partie interne à Arcane de 'IMemoryRessourceMng'.
Gestion des ressources mémoire pour les CPU et accélérateurs.
FixedArray< IMemoryPool *, ARCCORE_NB_MEMORY_RESOURCE > m_memory_pools
Liste des pools mémoire.
void setAllocator(eMemoryResource r, IMemoryAllocator *allocator) override
Positionne l'allocateur pour la ressource r.
void setIsAccelerator(bool v) override
Indique si un accélérateur est disponible.
FixedArray< IMemoryAllocator *, ARCCORE_NB_MEMORY_RESOURCE > m_allocators
Liste des allocateurs.
IMemoryPool * getMemoryPoolOrNull(eMemoryResource r) override
Pool mémoire pour la ressource r.
IMemoryAllocator * getAllocator(eMemoryResource r) override
Allocateur mémoire pour la ressource r.
void setCopier(IMemoryCopier *copier) override
Positionne l'instance gérant les copies.
void setMemoryPool(eMemoryResource r, IMemoryPool *pool) override
Positionne le pool mémoire pour la ressource r.
IMemoryResourceMngInternal * _internal() override
Interface interne.
Vue modifiable sur une zone mémoire contigue contenant des éléments de taille fixe.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMemoryResource
Liste des ressources mémoire disponibles.