Interface d'un allocateur pour un MemoryPool. Plus de détails...
#include <arcane/utils/internal/MemoryPool.h>
Fonctions membres publiques | |
virtual void * | allocateMemory (size_t size)=0 |
Alloue un bloc pour size octets. | |
virtual void | freeMemory (void *address, size_t size)=0 |
Libère le bloc situé à l'adresse address contenant size octets. | |
Interface d'un allocateur pour un MemoryPool.
Cette interface fonctionne à la manière d'un malloc/free à ceci prêt qu'il faut fournir la taille alloué pour un bloc pour la libération de ce dernier. L'utilisateur de cette interface doit donc gérer la conservation de cette information.
Définition à la ligne 38 du fichier MemoryPool.h.
Alloue un bloc pour size octets.
Implémenté dans Arcane::Accelerator::Cuda::CudaMemoryAllocatorBase::UnderlyingAllocator, Arcane::impl::MemoryPool, et MyMemoryPoolAllocator.
Référencé par Arcane::Accelerator::Cuda::CudaMemoryAllocatorBase::allocate().
|
pure virtual |
Libère le bloc situé à l'adresse address contenant size octets.
Implémenté dans MyMemoryPoolAllocator, Arcane::Accelerator::Cuda::CudaMemoryAllocatorBase::UnderlyingAllocator, et Arcane::impl::MemoryPool.
Référencé par Arcane::Accelerator::Cuda::CudaMemoryAllocatorBase::deallocate().