12#ifndef ARCCORE_COLLECTIONS_COLLECTIONSGLOBAL_H
13#define ARCCORE_COLLECTIONS_COLLECTIONSGLOBAL_H
17#include "arccore/base/ArccoreGlobal.h"
24#if defined(ARCCORE_COMPONENT_arccore_collections)
25#define ARCCORE_COLLECTIONS_EXPORT ARCCORE_EXPORT
26#define ARCCORE_COLLECTIONS_EXTERN_TPL
28#define ARCCORE_COLLECTIONS_EXPORT ARCCORE_IMPORT
29#define ARCCORE_COLLECTIONS_EXTERN_TPL extern
54template <
typename DataType>
class Array;
58template <
typename DataType>
class Array2;
61using Arccore::ArrayTraits;
80using Arcane::Accelerator::RunQueue;
123extern "C++" ARCCORE_COLLECTIONS_EXPORT std::ostream&
147static constexpr int ARCCORE_NB_MEMORY_RESOURCE = 5;
156extern "C++" ARCCORE_COLLECTIONS_EXPORT std::ostream&
164class AllocatedMemoryInfo
168 AllocatedMemoryInfo() =
default;
169 explicit AllocatedMemoryInfo(
void* base_address)
170 : m_base_address(base_address)
172 AllocatedMemoryInfo(
void* base_address,
Int64 size)
173 : m_base_address(base_address)
178 : m_base_address(base_address)
192 void* m_base_address =
nullptr;
194 Int64 m_capacity = -1;
211using Arcane::AbstractArray;
212using Arcane::AlignedMemoryAllocator;
213using Arcane::AlignedMemoryAllocator3;
214using Arcane::AllocatedMemoryInfo;
215using Arcane::ARCCORE_NB_MEMORY_RESOURCE;
218using Arcane::ArrayMetaData;
219using Arcane::DefaultMemoryAllocator;
220using Arcane::DefaultMemoryAllocator3;
224using Arcane::IMemoryAllocator;
225using Arcane::IMemoryAllocator3;
226using Arcane::MemoryAllocationArgs;
227using Arcane::MemoryAllocationOptions;
228using Arcane::PrintableMemoryAllocator;
229using Arcane::SharedArray;
230using Arcane::SharedArray2;
231using Arcane::UniqueArray;
232using Arcane::UniqueArray2;
Classe abstraite de base d'un vecteur.
File d'exécution pour un accélérateur.
Allocateur mémoire avec alignement mémoire spécifique.
void * baseAddress() const
Adresse du début de la zone allouée.
Int64 size() const
Taille en octets de la zone mémoire utilisée. (-1) si inconnue.
Int64 capacity() const
Taille en octets de la zone mémoire allouée. (-1) si inconnue.
Classe représentant un tableau 2D classique.
Informations de debug pour les classes tableaux.
Classe de base des vecteurs 1D de données.
Allocateur mémoire via malloc/realloc/free.
Interface d'un allocateur pour la mémoire.
Classe contenant des informations pour spécialiser les allocations.
Options pour configurer les allocations.
Allocateur mémoire via malloc/realloc/free avec impression listing.
Vecteur de données 2D partagées avec sémantique par référence.
Vecteur 1D de données avec sémantique par référence.
Vecteur de données 2D avec sémantique par valeur (style STL).
Vecteur 1D de données avec sémantique par valeur (style STL).
Caractéristiques pour un tableau.
Espace de nom pour l'utilisation des accélérateurs.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
eMemoryLocationHint
Indices sur la localisation mémoire attendue.
@ MainlyHost
Indique que la donnée sera plutôt utilisée sur CPU.
@ HostAndDeviceMostlyRead
Indique que la donnée sera utilisée à la fois sur accélérateur et sur CPU et qu'elle ne sera pas souv...
@ MainlyDevice
Indique que la donnée sera plutôt utilisée sur accélérateur.
Arcane::eMemoryResource eMemoryRessource
Typedef pour la version Arcane historique (avec 2's')
eHostDeviceMemoryLocation
Localisation physique d'une adresse mémoire.
@ ManagedMemoryDevice
La mémoire est de la mémoire managée sur accélérateur.
@ ManagedMemoryHost
La mémoire est de la mémoire managée sur l'hôte.
eMemoryResource
Liste des ressources mémoire disponibles.
@ HostPinned
Alloue sur l'hôte.
@ UnifiedMemory
Alloue en utilisant la mémoire unifiée.
std::ostream & operator<<(std::ostream &ostr, eItemKind item_kind)
Opérateur de sortie sur un flot.
Espace de nom de Arccore.
Arcane::eMemoryResource eMemoryRessource
Typedef pour la version Arcane historique (avec 2's')