14#include "arcane/utils/NumArray.h"
16#include "arcane/utils/FatalErrorException.h"
17#include "arcane/utils/MemoryView.h"
29MemoryAllocationOptions NumArrayBaseCommon::
32 return _getDefaultAllocator(MemoryUtils::getDefaultDataMemoryResource());
38MemoryAllocationOptions NumArrayBaseCommon::
41 return MemoryUtils::getAllocationOptions(r);
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)
74 MemoryUtils::fillIndexed(destination, fill_value_view, indexes, queue);
80void NumArrayBaseCommon::
81_memoryAwareFill(Span<std::byte> to,
Int64 nb_element,
const void* fill_address,
82 Int32 datatype_size,
const RunQueue* queue)
86 MemoryUtils::fill(destination, fill_value_view, queue);
112 template class NumArrayContainer<Real>;
#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.
ConstMemoryView makeConstMemoryView(const void *ptr, Int32 datatype_size, Int64 nb_element)
Créé une vue mémoire en lecture seule.
std::int64_t Int64
Type entier signé sur 64 bits.
MutableMemoryView makeMutableMemoryView(void *ptr, Int32 datatype_size, Int64 nb_element)
Créé une vue mémoire modifiable.
Arcane::eMemoryResource eMemoryRessource
Typedef pour la version Arcane historique (avec 2's')
std::int32_t Int32
Type entier signé sur 32 bits.