14#include "arcane/utils/NumArray.h"
16#include "arcane/utils/FatalErrorException.h"
17#include "arcane/utils/MemoryView.h"
29MemoryAllocationOptions NumArrayBaseCommon::
38MemoryAllocationOptions NumArrayBaseCommon::
47void NumArrayBaseCommon::
50 if (r == eMemoryRessource::HostPinned || r == eMemoryRessource::Host || r == eMemoryRessource::UnifiedMemory)
52 ARCANE_FATAL(
"Invalid access from '{0}' ressource memory to host memory", r);
58void NumArrayBaseCommon::
62 MemoryUtils::copy(MutableMemoryView(to), to_mem, ConstMemoryView(from), from_mem, queue);
68void NumArrayBaseCommon::
69_memoryAwareFill(Span<std::byte> to,
Int64 nb_element,
const void* fill_address,
70 Int32 datatype_size, SmallSpan<const Int32> indexes,
const RunQueue* queue)
80void NumArrayBaseCommon::
81_memoryAwareFill(Span<std::byte> to,
Int64 nb_element,
const void* fill_address,
82 Int32 datatype_size,
const RunQueue* queue)
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Fonctions de gestion mémoire et des allocateurs.
Classe pour conserver le pas dans chaque dimension.
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
Container pour la classe NumArray.
void fill(MutableMemoryView destination, ConstMemoryView source, const RunQueue *run_queue=nullptr)
Remplit une zone mémoire avec une valeur.
MemoryAllocationOptions getAllocationOptions(eMemoryResource mem_resource)
Allocation par défaut pour la ressource mem_resource.
void fillIndexed(MutableMemoryView destination, ConstMemoryView source, SmallSpan< const Int32 > indexes, const RunQueue *run_queue=nullptr)
Remplit une zone mémoire indexée avec une valeur.
eMemoryResource getDefaultDataMemoryResource()
Ressource mémoire utilisée par l'allocateur par défaut pour les données.
void copy(MutableMemoryView destination, eMemoryResource destination_mem, ConstMemoryView source, eMemoryResource source_mem, const RunQueue *queue=nullptr)
Copie de source vers destination en utilisant la file queue.
MutableMemoryView makeMutableMemoryView(void *ptr, Int32 datatype_size, Int64 nb_element)
Créé une vue mémoire modifiable.
std::int64_t Int64
Type entier signé sur 64 bits.
ConstMemoryView makeConstMemoryView(const void *ptr, Int32 datatype_size, Int64 nb_element)
Créé une vue mémoire en lecture seule.
Arcane::eMemoryResource eMemoryRessource
Typedef pour la version Arcane historique (avec 2's')
std::int32_t Int32
Type entier signé sur 32 bits.