Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage Arcane::Accelerator

Espace de nom pour l'utilisation des accélérateurs. Plus de détails...

Classes

class  AcceleratorMng
 Gestionnaire des modules. Plus de détails...
 
class  AcceleratorRuntimeInitialisationInfo
 Informations pour l'initialisation des accélérateurs. Plus de détails...
 
class  ArrayBoundRunCommand
 
class  AsyncRunQueuePool
 Collection de file d'exécution asynchrone avec priorité sur accélérateur. Plus de détails...
 
class  DeviceId
 Identifiant d'un composant du système. Plus de détails...
 
class  DeviceInfo
 Information sur un device. Plus de détails...
 
class  GenericFilterer
 Algorithme générique de filtrage sur accélérateur. Plus de détails...
 
class  GenericPartitioner
 Algorithme générique de partitionnement d'une liste. Plus de détails...
 
class  GenericReducer
 Algorithme générique de réduction sur accélérateur. Plus de détails...
 
class  GenericScanner
 Algorithmes de scan exclusif ou inclusif sur accélérateurs. Plus de détails...
 
class  GenericSorter
 Algorithme générique de tri sur accélérateur. Plus de détails...
 
class  HostDeviceReducer
 Version 1 de la réduction. Plus de détails...
 
class  HostDeviceReducer2
 Version 2 de la réduction. Plus de détails...
 
class  HostDeviceReducerBase
 Opérateur de réduction. Plus de détails...
 
class  IAcceleratorMng
 Interface du gestionnaire des accélérateurs. Plus de détails...
 
class  IDeviceInfoList
 Interface d'une liste de devices. Plus de détails...
 
class  IndexSelecter
 Construction d'un sous-ensemble d'indexes à partir d'un critère. Plus de détails...
 
class  ItemPartialVariableArrayInViewT
 Vue en lecture sur une variable partielle tableau du maillage. Plus de détails...
 
class  ItemPartialVariableArrayOutViewT
 Vue en écriture sur une variable partielle tableau du maillage. Plus de détails...
 
class  ItemPartialVariableRealNScalarOutViewT
 
class  ItemPartialVariableScalarInViewT
 Vue en lecture sur une variable partielle scalaire du maillage. Plus de détails...
 
class  ItemPartialVariableScalarOutViewT
 Vue en écriture sur une variable partielle scalaire du maillage. Plus de détails...
 
class  ItemRunCommand
 
class  ItemVariableArrayInViewT
 Vue en lecture sur une variable tableau du maillage. Plus de détails...
 
class  ItemVariableArrayOutViewBaseT
 Vue en écriture sur une variable tableau du maillage. Plus de détails...
 
class  ItemVariableArrayOutViewT
 Vue en écriture sur une variable tableau du maillage. Plus de détails...
 
class  ItemVariableRealNScalarOutViewT
 Vue en écriture sur une variable scalaire de type 'RealN' du maillage. Plus de détails...
 
class  ItemVariableScalarInViewT
 Vue en lecture sur une variable scalaire du maillage. Plus de détails...
 
class  ItemVariableScalarOutViewBaseT
 Vue en écriture sur une variable scalaire du maillage. Plus de détails...
 
class  ItemVariableScalarOutViewT
 Vue en écriture sur une variable scalaire du maillage. Plus de détails...
 
class  MatItemVariableScalarInViewT
 Vue en lecture sur une variable scalaire du maillage. TODO: Faut-il rajouter la gestion des SIMD comme dans ItemVariableScalarInViewT ? Plus de détails...
 
class  MatItemVariableScalarOutViewT
 Vue en écriture sur une variable scalaire du maillage. TODO: Faut il rajouter la gestion des types SIMD comme dans ItemVariableScalarOutViewT ? Plus de détails...
 
class  MatVariableViewBase
 Classe de base des vues sur les variables matériaux. Plus de détails...
 
class  MemoryCopyArgs
 Arguments pour la copie mémoire. Plus de détails...
 
class  MemoryPrefetchArgs
 Arguments pour le préfetching mémoire. Plus de détails...
 
class  NumArrayView
 Vue en lecture, écriture ou lecture/écriture sur un 'NumArray'. Plus de détails...
 
class  NumArrayViewBase
 Classe de base des vues sur les 'NumArray'. Plus de détails...
 
class  NumArrayViewSetter
 
class  PointerAttribute
 Informations sur une adresse mémoire. Plus de détails...
 
class  ProfileRegion
 Région pour le profiling. Plus de détails...
 
class  ReducerMax
 Classe pour effectuer une réduction 'max'. Plus de détails...
 
class  ReducerMax2
 Classe pour effectuer une réduction 'max'. Plus de détails...
 
class  ReducerMin
 Classe pour effectuer une réduction 'min'. Plus de détails...
 
class  ReducerMin2
 Classe pour effectuer une réduction 'min'. Plus de détails...
 
class  ReducerSum
 Classe pour effectuer une réduction 'somme'. Plus de détails...
 
class  ReducerSum2
 Classe pour effectuer une réduction 'somme'. Plus de détails...
 
class  RegisterRuntimeInfo
 Informations pour initialiser le runtime accélérateur. Plus de détails...
 
class  RunCommand
 Gestion d'une commande sur accélérateur. Plus de détails...
 
class  Runner
 Gestionnaire d'exécution pour accélérateur. Plus de détails...
 
class  RunnerInternal
 
class  RunQueue
 File d'exécution pour un accélérateur. Plus de détails...
 
class  RunQueueBuildInfo
 Informations pour créer une RunQueue. Plus de détails...
 
class  RunQueueEvent
 Evènement pour une file d'exécution. Plus de détails...
 
class  RunQueuePool
 Collection de RunQueue. Plus de détails...
 
class  Scanner
 Algorithmes de scan exclusif ou inclusif sur accélérateurs. Plus de détails...
 
class  SmallSpanView
 Vue en lecture, écriture ou lecture/écriture sur un 'SmallSpan'. Plus de détails...
 
class  SpanView
 Vue en lecture, écriture ou lecture/écriture sur un 'Span'. Plus de détails...
 
class  SpanViewBase
 Classe de base des vues sur les 'NumArray'. Plus de détails...
 
class  SpanViewSetter
 
class  SyclReducer
 Implémentation de la réduction pour le backend SYCL. Plus de détails...
 
class  VariableViewBase
 Classe de base des vues sur les variables. Plus de détails...
 
class  View1DGetterSetter
 Classe pour accéder à un tableau 1D d'une vue en lecture/écriture. Plus de détails...
 
class  View1DSetter
 Classe pour accéder à un tableau 1D d'une vue en lecture/écriture. Plus de détails...
 
class  ViewBuildInfo
 Informations pour construire une vue pour les données sur accélérateur. Plus de détails...
 

Concepts

concept  AcceleratorAtomicConcept
 Liste des types supportant les opérations atomiques.
 

Définitions de type

template<typename DataType >
using ScannerSumOperator = impl::SumOperator< DataType >
 
template<typename DataType >
using ScannerMaxOperator = impl::MaxOperator< DataType >
 
template<typename DataType >
using ScannerMinOperator = impl::MinOperator< DataType >
 
template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using NumArrayInView = NumArrayView< DataViewGetter< DataType >, Extents, LayoutType >
 Vue en entrée sur un NumArray.
 
template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using NumArrayOutView = NumArrayView< DataViewSetter< DataType >, Extents, LayoutType >
 Vue en sortie sur un NumArray.
 
template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using NumArrayInOutView = NumArrayView< DataViewGetterSetter< DataType >, Extents, LayoutType >
 Vue en entrée/sortie sur un NumArray.
 
template<typename DataType , typename ReduceFunctor >
using Reducer = HostDeviceReducer< DataType, ReduceFunctor >
 
typedef ItemVariableScalarInViewT< Node, ByteVariableNodeByteInView
 
typedef ItemVariableScalarInViewT< Edge, ByteVariableEdgeByteInView
 
typedef ItemVariableScalarInViewT< Face, ByteVariableFaceByteInView
 
typedef ItemVariableScalarInViewT< Cell, ByteVariableCellByteInView
 
typedef ItemVariableScalarInViewT< Particle, ByteVariableParticleByteInView
 
typedef ItemVariableScalarInViewT< DoF, ByteVariableDoFByteInView
 
typedef ItemVariableScalarInViewT< Node, Int16 > VariableNodeInt16InView
 
typedef ItemVariableScalarInViewT< Edge, Int16 > VariableEdgeInt16InView
 
typedef ItemVariableScalarInViewT< Face, Int16 > VariableFaceInt16InView
 
typedef ItemVariableScalarInViewT< Cell, Int16 > VariableCellInt16InView
 
typedef ItemVariableScalarInViewT< Particle, Int16 > VariableParticleInt16InView
 
typedef ItemVariableScalarInViewT< DoF, Int16 > VariableDoFInt16InView
 
typedef ItemVariableScalarInViewT< Node, Int32 > VariableNodeInt32InView
 
typedef ItemVariableScalarInViewT< Edge, Int32 > VariableEdgeInt32InView
 
typedef ItemVariableScalarInViewT< Face, Int32 > VariableFaceInt32InView
 
typedef ItemVariableScalarInViewT< Cell, Int32 > VariableCellInt32InView
 
typedef ItemVariableScalarInViewT< Particle, Int32 > VariableParticleInt32InView
 
typedef ItemVariableScalarInViewT< DoF, Int32 > VariableDoFInt32InView
 
typedef ItemVariableScalarInViewT< Node, Int64 > VariableNodeInt64InView
 
typedef ItemVariableScalarInViewT< Edge, Int64 > VariableEdgeInt64InView
 
typedef ItemVariableScalarInViewT< Face, Int64 > VariableFaceInt64InView
 
typedef ItemVariableScalarInViewT< Cell, Int64 > VariableCellInt64InView
 
typedef ItemVariableScalarInViewT< Particle, Int64 > VariableParticleInt64InView
 
typedef ItemVariableScalarInViewT< DoF, Int64 > VariableDoFInt64InView
 
typedef ItemVariableScalarInViewT< Node, Real > VariableNodeRealInView
 
typedef ItemVariableScalarInViewT< Edge, Real > VariableEdgeRealInView
 
typedef ItemVariableScalarInViewT< Face, Real > VariableFaceRealInView
 
typedef ItemVariableScalarInViewT< Cell, Real > VariableCellRealInView
 
typedef ItemVariableScalarInViewT< Particle, Real > VariableParticleRealInView
 
typedef ItemVariableScalarInViewT< DoF, Real > VariableDoFRealInView
 
typedef ItemVariableScalarInViewT< Node, Real2VariableNodeReal2InView
 
typedef ItemVariableScalarInViewT< Edge, Real2VariableEdgeReal2InView
 
typedef ItemVariableScalarInViewT< Face, Real2VariableFaceReal2InView
 
typedef ItemVariableScalarInViewT< Cell, Real2VariableCellReal2InView
 
typedef ItemVariableScalarInViewT< Particle, Real2VariableParticleReal2InView
 
typedef ItemVariableScalarInViewT< DoF, Real2VariableDoFReal2InView
 
typedef ItemVariableScalarInViewT< Node, Real3VariableNodeReal3InView
 
typedef ItemVariableScalarInViewT< Edge, Real3VariableEdgeReal3InView
 
typedef ItemVariableScalarInViewT< Face, Real3VariableFaceReal3InView
 
typedef ItemVariableScalarInViewT< Cell, Real3VariableCellReal3InView
 
typedef ItemVariableScalarInViewT< Particle, Real3VariableParticleReal3InView
 
typedef ItemVariableScalarInViewT< DoF, Real3VariableDoFReal3InView
 
typedef ItemVariableScalarOutViewT< Node, DataViewSetter< Byte > > VariableNodeByteOutView
 
typedef ItemVariableScalarOutViewT< Edge, DataViewSetter< Byte > > VariableEdgeByteOutView
 
typedef ItemVariableScalarOutViewT< Face, DataViewSetter< Byte > > VariableFaceByteOutView
 
typedef ItemVariableScalarOutViewT< Cell, DataViewSetter< Byte > > VariableCellByteOutView
 
typedef ItemVariableScalarOutViewT< Particle, DataViewSetter< Byte > > VariableParticleByteOutView
 
typedef ItemVariableScalarOutViewT< DoF, DataViewSetter< Byte > > VariableDoFByteOutView
 
typedef ItemVariableScalarOutViewT< Node, DataViewSetter< Int16 > > VariableNodeInt16OutView
 
typedef ItemVariableScalarOutViewT< Edge, DataViewSetter< Int16 > > VariableEdgeInt16OutView
 
typedef ItemVariableScalarOutViewT< Face, DataViewSetter< Int16 > > VariableFaceInt16OutView
 
typedef ItemVariableScalarOutViewT< Cell, DataViewSetter< Int16 > > VariableCellInt16OutView
 
typedef ItemVariableScalarOutViewT< Particle, DataViewSetter< Int16 > > VariableParticleInt16OutView
 
typedef ItemVariableScalarOutViewT< DoF, DataViewSetter< Int16 > > VariableDoFInt16OutView
 
typedef ItemVariableScalarOutViewT< Node, DataViewSetter< Int32 > > VariableNodeInt32OutView
 
typedef ItemVariableScalarOutViewT< Edge, DataViewSetter< Int32 > > VariableEdgeInt32OutView
 
typedef ItemVariableScalarOutViewT< Face, DataViewSetter< Int32 > > VariableFaceInt32OutView
 
typedef ItemVariableScalarOutViewT< Cell, DataViewSetter< Int32 > > VariableCellInt32OutView
 
typedef ItemVariableScalarOutViewT< Particle, DataViewSetter< Int32 > > VariableParticleInt32OutView
 
typedef ItemVariableScalarOutViewT< DoF, DataViewSetter< Int32 > > VariableDoFInt32OutView
 
typedef ItemVariableScalarOutViewT< Node, DataViewSetter< Int64 > > VariableNodeInt64OutView
 
typedef ItemVariableScalarOutViewT< Edge, DataViewSetter< Int64 > > VariableEdgeInt64OutView
 
typedef ItemVariableScalarOutViewT< Face, DataViewSetter< Int64 > > VariableFaceInt64OutView
 
typedef ItemVariableScalarOutViewT< Cell, DataViewSetter< Int64 > > VariableCellInt64OutView
 
typedef ItemVariableScalarOutViewT< Particle, DataViewSetter< Int64 > > VariableParticleInt64OutView
 
typedef ItemVariableScalarOutViewT< DoF, DataViewSetter< Int64 > > VariableDoFInt64OutView
 
typedef ItemVariableScalarOutViewT< Node, DataViewSetter< Real > > VariableNodeRealOutView
 
typedef ItemVariableScalarOutViewT< Edge, DataViewSetter< Real > > VariableEdgeRealOutView
 
typedef ItemVariableScalarOutViewT< Face, DataViewSetter< Real > > VariableFaceRealOutView
 
typedef ItemVariableScalarOutViewT< Cell, DataViewSetter< Real > > VariableCellRealOutView
 
typedef ItemVariableScalarOutViewT< Particle, DataViewSetter< Real > > VariableParticleRealOutView
 
typedef ItemVariableScalarOutViewT< DoF, DataViewSetter< Real > > VariableDoFRealOutView
 
typedef ItemVariableRealNScalarOutViewT< Node, DataViewSetter< Real2 > > VariableNodeReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< Edge, DataViewSetter< Real2 > > VariableEdgeReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< Face, DataViewSetter< Real2 > > VariableFaceReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< Cell, DataViewSetter< Real2 > > VariableCellReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< Particle, DataViewSetter< Real2 > > VariableParticleReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< DoF, DataViewSetter< Real2 > > VariableDoFReal2OutView
 
typedef ItemVariableRealNScalarOutViewT< Node, DataViewSetter< Real3 > > VariableNodeReal3OutView
 
typedef ItemVariableRealNScalarOutViewT< Edge, DataViewSetter< Real3 > > VariableEdgeReal3OutView
 
typedef ItemVariableRealNScalarOutViewT< Face, DataViewSetter< Real3 > > VariableFaceReal3OutView
 
typedef ItemVariableRealNScalarOutViewT< Cell, DataViewSetter< Real3 > > VariableCellReal3OutView
 
typedef ItemVariableRealNScalarOutViewT< Particle, DataViewSetter< Real3 > > VariableParticleReal3OutView
 
typedef ItemVariableRealNScalarOutViewT< DoF, DataViewSetter< Real3 > > VariableDoFReal3OutView
 
template<typename DataType >
using DataViewSetter = Arcane::DataViewSetter< DataType >
 
template<typename DataType >
using DataViewGetterSetter = Arcane::DataViewGetterSetter< DataType >
 
template<typename DataType >
using DataViewGetter = Arcane::DataViewGetter< DataType >
 

Énumérations

enum class  eAtomicOperation { Add , Min , Max }
 Type d'opération atomique supportée. Plus de détails...
 
enum class  eExecutionPolicy {
  None , Sequential , Thread , CUDA ,
  HIP , SYCL
}
 Politique d'exécution pour un Runner. Plus de détails...
 
enum class  eDeviceReducePolicy { Atomic = 1 , Grid = 2 }
 Politique des opératations de réduction sur les accélérateurs. Plus de détails...
 
enum class  eRunQueuePriority : int { Default = 0 , High = -100 , Low = 100 }
 Niveaux de priorité prédéfinis pour les files d'exécution sur les accélérateurs. Plus de détails...
 
enum class  ePointerMemoryType { Unregistered = 0 , Host = 1 , Device = 2 , Managed = 3 }
 Type de mémoire pour un pointeur. Plus de détails...
 
enum class  ePointerAccessibility { Unknown = 0 , No = 1 , Yes = 2 }
 Informations d'accessibilité d'une adresse mémoire. Plus de détails...
 
enum class  eMemoryAdvice {
  None = 0 , MostlyRead , PreferredLocationDevice , PreferredLocationHost ,
  AccessedByDevice , AccessedByHost
}
 Conseils pour la gestion mémoire. Plus de détails...
 

Fonctions

void initializeRunner (Runner &runner, ITraceMng *tm, const AcceleratorRuntimeInitialisationInfo &acc_info)
 Initialise runner en fonction de la valeur de acc_info.
 
AsyncRunQueuePool makeAsyncQueuePool (Runner &runner)
 Créé un pool de file temporaire associée à runner.
 
AsyncRunQueuePool makeAsyncQueuePool (Runner &runner, Int32 size, eRunQueuePriority priority=eRunQueuePriority::Default)
 Créé un pool de file temporaire associée à runner.
 
AsyncRunQueuePool makeAsyncQueuePool (Runner *runner)
 Créé un pool de file temporaire associée à runner.
 
AsyncRunQueuePool makeAsyncQueuePool (Runner *runner, Int32 size, eRunQueuePriority priority=eRunQueuePriority::Default)
 Créé un pool de file temporaire associée à runner.
 
template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType >
requires (std::convertible_to<ValueType, DataType>)
ARCCORE_HOST_DEVICE void doAtomic (DataType *ptr, ValueType value)
 Applique l'opération atomique Operation à la valeur à l'adresse ptr avec la valeur value.
 
template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType >
requires (std::convertible_to<ValueType, DataType>)
ARCCORE_HOST_DEVICE void doAtomic (const DataViewGetterSetter< DataType > &view, ValueType value)
 Applique l'opération atomique Operation à la vue view avec la valeur value.
 
std::ostream & operator<< (std::ostream &o, eExecutionPolicy exec_policy)
 Affiche le nom de la politique d'exécution.
 
std::ostream & operator<< (std::ostream &o, const DeviceId &device_id)
 
std::ostream & operator<< (std::ostream &o, ePointerMemoryType mem_type)
 Affiche le nom du type de mémoire.
 
ePointerAccessibility getPointerAccessibility (eExecutionPolicy policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une politique d'exécutionpolicy.
 
std::ostream & operator<< (std::ostream &o, const PointerAttribute &a)
 
bool isAcceleratorPolicy (eExecutionPolicy exec_policy)
 Indique si exec_policy correspond à un accélérateur.
 
ePointerAccessibility getPointerAccessibility (RunQueue *queue, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur la file queue.
 
ePointerAccessibility getPointerAccessibility (Runner *runner, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur runner.
 
template<typename T >
ePointerAccessibility getPointerAccessibility (T &queue_or_runner_or_policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur queue_or_runner_or_policy.
 
Ref< IAcceleratorMngarcaneCreateAcceleratorMngRef (ITraceMng *tm)
 
void arcaneInitializeRunner (Accelerator::Runner &runner, ITraceMng *tm, const AcceleratorRuntimeInitialisationInfo &acc_info)
 Initialise runner avec les informations de acc_info.
 
 ARCANE_REGISTER_PROPERTY_CLASS (AcceleratorRuntimeInitialisationInfo,())
 
std::ostream & operator<< (std::ostream &o, eMemoryAdvice a)
 
RunCommandoperator<< (RunCommand &command, const TraceInfo &trace_info)
 
RunQueue makeQueue (const Runner &runner)
 Créé une file associée à runner.
 
RunQueue makeQueue (const Runner *runner)
 Créé une file associée à runner.
 
RunQueue makeQueue (const Runner &runner, const RunQueueBuildInfo &bi)
 Créé une file associée à runner avec les propriétés bi.
 
RunQueue makeQueue (const Runner *runner, const RunQueueBuildInfo &bi)
 Créé une file associée à runner avec les propriétés bi.
 
Ref< RunQueuemakeQueueRef (const Runner &runner)
 Créé une référence sur file avec la politique d'exécution par défaut de runner.
 
Ref< RunQueuemakeQueueRef (Runner &runner, const RunQueueBuildInfo &bi)
 Créé une référence sur file avec la politique d'exécution par défaut de runner.
 
Ref< RunQueuemakeQueueRef (Runner *runner)
 Créé une référence sur file avec la politique d'exécution par défaut de runner.
 
RunCommand makeCommand (const RunQueue &run_queue)
 Créé une commande associée à la file run_queue.
 
RunCommand makeCommand (const RunQueue *run_queue)
 Créé une commande associée à la file run_queue.
 
RunQueueEvent makeEvent (Runner &runner)
 Créé un évènement associé à runner.
 
Ref< RunQueueEventmakeEventRef (Runner &runner)
 Créé un évènement associé à runner.
 
template<typename DataType >
auto viewOut (RunCommand &cmd, CellMaterialVariableScalarRef< DataType > &var)
 Vue en écriture pour les variables materiaux scalaire.
 
template<typename DataType >
auto viewOut (RunCommand &cmd, CellEnvironmentVariableScalarRef< DataType > &var)
 Vue en écriture pour les variables materiaux scalaire.
 
template<typename DataType >
auto viewInOut (RunCommand &cmd, CellMaterialVariableScalarRef< DataType > &var)
 Vue en lecture/écriture pour les variables materiaux scalaire.
 
template<typename DataType >
auto viewInOut (RunCommand &cmd, CellEnvironmentVariableScalarRef< DataType > &var)
 Vue en lecture/écriture pour les variables materiaux scalaire.
 
template<typename DataType >
auto viewIn (RunCommand &cmd, const CellMaterialVariableScalarRef< DataType > &var)
 Vue en lecture pour les variables materiaux scalaire.
 
template<typename DataType >
auto viewIn (RunCommand &cmd, const CellEnvironmentVariableScalarRef< DataType > &var)
 Vue en lecture pour les variables materiaux scalaire.
 
template<typename DataType , typename Extents , typename LayoutPolicy >
auto viewOut (const ViewBuildInfo &command, NumArray< DataType, Extents, LayoutPolicy > &var)
 Vue en écriture.
 
template<typename DataType , typename Extents , typename LayoutPolicy >
auto viewInOut (const ViewBuildInfo &command, NumArray< DataType, Extents, LayoutPolicy > &v)
 Vue en lecture/écriture.
 
template<typename DataType , typename Extents , typename LayoutType >
auto viewIn (const ViewBuildInfo &command, const NumArray< DataType, Extents, LayoutType > &v)
 Vue en lecture.
 
template<typename TraitsType , typename Lambda >
void run (RunCommand &command, const TraitsType &traits, const Lambda &func)
 
template<typename ItemType >
auto operator<< (RunCommand &command, const impl::RunCommandItemEnumeratorTraitsT< ItemType > &traits)
 
template<typename ItemType >
auto operator<< (RunCommand &command, const ItemVectorViewT< ItemType > &items)
 
template<typename ItemType >
auto operator<< (RunCommand &command, const ItemGroupT< ItemType > &items)
 
template<typename TraitsType , typename Lambda >
void operator<< (ItemRunCommand< TraitsType > &nr, const Lambda &f)
 
template<typename TraitsType , typename... ReducerArgs>
auto operator<< (RunCommand &command, const impl::ItemRunCommandArgs< TraitsType, ReducerArgs... > &args)
 
template<typename TraitsType , typename Lambda , typename... ReducerArgs>
void operator<< (ItemRunCommand< TraitsType, ReducerArgs... > &&nr, const Lambda &f)
 
template<typename ExtentType , typename Lambda >
void run (RunCommand &command, ArrayBounds< ExtentType > bounds, const Lambda &func)
 Applique la lambda func sur l'intervalle d'itération donnée par bounds.
 
template<int N, typename Lambda >
void run (RunCommand &command, SimpleForLoopRanges< N, Int32 > bounds, const Lambda &func)
 Applique la lambda func sur l'intervalle d'itération donnée par bounds.
 
template<int N, typename Lambda >
void run (RunCommand &command, ComplexForLoopRanges< N, Int32 > bounds, const Lambda &func)
 Applique la lambda func sur l'intervalle d'itération donnée par bounds.
 
template<int N, template< int T, typename > class LoopBoundType, typename Lambda , typename... RemainingArgs>
void runExtended (RunCommand &command, LoopBoundType< N, Int32 > bounds, const Lambda &func, const std::tuple< RemainingArgs... > &other_args)
 Applique la lambda func sur l'intervalle d'itération donnée par bounds.
 
template<typename ExtentType >
auto operator<< (RunCommand &command, const ArrayBounds< ExtentType > &bounds) -> ArrayBoundRunCommand< ExtentType::rank(), SimpleForLoopRanges< ExtentType::rank(), Int32 > >
 
template<typename ExtentType , typename... RemainingArgs>
auto operator<< (RunCommand &command, const impl::ExtendedArrayBoundLoop< ExtentType, RemainingArgs... > &ex_loop) -> ArrayBoundRunCommand< 1, SimpleForLoopRanges< 1, Int32 >, RemainingArgs... >
 
template<int N>
ArrayBoundRunCommand< N, SimpleForLoopRanges< N > > operator<< (RunCommand &command, const SimpleForLoopRanges< N, Int32 > &bounds)
 
template<int N>
ArrayBoundRunCommand< N, ComplexForLoopRanges< N > > operator<< (RunCommand &command, const ComplexForLoopRanges< N, Int32 > &bounds)
 
template<int N, template< int, typename > class ForLoopBoundType, typename Lambda , typename... RemainingArgs>
void operator<< (ArrayBoundRunCommand< N, ForLoopBoundType< N, Int32 >, RemainingArgs... > &&nr, const Lambda &f)
 
template<typename TraitsType , typename... ReducerArgs>
auto operator<< (RunCommand &command, const impl::GenericMatCommandArgs< TraitsType, ReducerArgs... > &args)
 
auto operator<< (RunCommand &command, const impl::MatAndGlobalCellRunCommand::Container &view)
 
auto operator<< (RunCommand &command, const impl::EnvAndGlobalCellRunCommand::Container &view)
 
auto operator<< (RunCommand &command, const impl::EnvCellRunCommand::Container &view)
 
auto operator<< (RunCommand &command, const impl::MatCellRunCommand::Container &view)
 
template<typename DataType >
auto viewOut (const ViewBuildInfo &command, Span< DataType > var)
 Vue en écriture.
 
template<typename DataType >
auto viewOut (const ViewBuildInfo &command, Array< DataType > &var)
 Vue en écriture.
 
template<typename DataType >
auto viewOut (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Vue en écriture.
 
template<typename DataType >
auto viewOut (const ViewBuildInfo &command, ArrayView< DataType > var)
 Vue en écriture.
 
template<typename DataType >
auto viewInOut (const ViewBuildInfo &command, Span< DataType > var)
 Vue en lecture/écriture.
 
template<typename DataType >
auto viewInOut (const ViewBuildInfo &command, Array< DataType > &var)
 Vue en lecture/écriture.
 
template<typename DataType >
auto viewInOut (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Vue en lecture/écriture.
 
template<typename DataType >
auto viewInOut (const ViewBuildInfo &command, ArrayView< DataType > var)
 Vue en lecture/écriture.
 
template<typename DataType >
auto viewIn (const ViewBuildInfo &command, Span< DataType > var)
 Vue en lecture.
 
template<typename DataType >
auto viewIn (const ViewBuildInfo &command, const Array< DataType > &var)
 Vue en lecture.
 
template<typename DataType >
auto viewIn (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Vue en lecture.
 
template<typename DataType >
auto viewIn (const ViewBuildInfo &command, ConstArrayView< DataType > var)
 Vue en lecture.
 
template<typename ItemType , typename DataType >
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, DataType > &var)
 Vue en écriture.
 
template<typename ItemType , typename DataType >
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Vue en écriture.
 
template<typename ItemType >
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real3 > &var)
 Vue en écriture.
 
template<typename ItemType >
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real3 > &var)
 Vue en écriture.
 
template<typename ItemType >
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real2 > &var)
 Vue en écriture.
 
template<typename ItemType >
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real2 > &var)
 Vue en écriture.
 
template<typename ItemType , typename DataType >
auto viewOut (const ViewBuildInfo &command, MeshVariableArrayRefT< ItemType, DataType > &var)
 Vue en écriture.
 
template<typename ItemType , typename DataType >
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Vue en écriture.
 
template<typename ItemType , typename DataType >
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, DataType > &var)
 Vue en lecture/écriture.
 
template<typename ItemType , typename DataType >
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Vue en lecture/écriture.
 
template<typename ItemType >
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real3 > &var)
 Vue en lecture/écriture.
 
template<typename ItemType >
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real3 > &var)
 Vue en lecture/écriture.
 
template<typename ItemType >
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real2 > &var)
 Vue en lecture/écriture.
 
template<typename ItemType >
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real2 > &var)
 Vue en lecture/écriture.
 
template<typename ItemType , typename DataType >
auto viewInOut (const ViewBuildInfo &command, MeshVariableArrayRefT< ItemType, DataType > &var)
 Vue en lecture/écriture.
 
template<typename ItemType , typename DataType >
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Vue en lecture/écriture.
 
template<typename ItemType , typename DataType >
auto viewIn (const ViewBuildInfo &command, const MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Vue en lecture.
 
template<typename ItemType , typename DataType >
auto viewIn (const ViewBuildInfo &command, const MeshVariableScalarRefT< ItemType, DataType > &var)
 Vue en lecture.
 
template<typename ItemType , typename DataType >
auto viewIn (const ViewBuildInfo &command, const MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Vue en lecture.
 
template<typename ItemType , typename DataType >
auto viewIn (const ViewBuildInfo &command, const MeshVariableArrayRefT< ItemType, DataType > &var)
 Vue en lecture.
 

Description détaillée

Espace de nom pour l'utilisation des accélérateurs.

Toutes les classes et types utilisés pour la gestion des accélérateurs sont dans ce namespace.

Documentation des définitions de type

◆ DataViewGetter

Définition à la ligne 41 du fichier ViewsCommon.h.

◆ DataViewGetterSetter

Définition à la ligne 40 du fichier ViewsCommon.h.

◆ DataViewSetter

Définition à la ligne 39 du fichier ViewsCommon.h.

◆ NumArrayInOutView

template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using Arcane::Accelerator::NumArrayInOutView = typedef NumArrayView<DataViewGetterSetter<DataType>, Extents, LayoutType>

Vue en entrée/sortie sur un NumArray.

Définition à la ligne 197 du fichier NumArrayViews.h.

◆ NumArrayInView

template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using Arcane::Accelerator::NumArrayInView = typedef NumArrayView<DataViewGetter<DataType>, Extents, LayoutType>

Vue en entrée sur un NumArray.

Définition à la ligne 189 du fichier NumArrayViews.h.

◆ NumArrayOutView

template<typename DataType , typename Extents , typename LayoutType = DefaultLayout>
using Arcane::Accelerator::NumArrayOutView = typedef NumArrayView<DataViewSetter<DataType>, Extents, LayoutType>

Vue en sortie sur un NumArray.

Définition à la ligne 193 du fichier NumArrayViews.h.

◆ Reducer

Définition à la ligne 639 du fichier Reduce.h.

◆ ScannerMaxOperator

Définition à la ligne 434 du fichier CommonUtils.h.

◆ ScannerMinOperator

Définition à la ligne 435 du fichier CommonUtils.h.

◆ ScannerSumOperator

Définition à la ligne 433 du fichier CommonUtils.h.

◆ VariableCellByteInView

◆ VariableCellByteOutView

◆ VariableCellInt16InView

◆ VariableCellInt16OutView

◆ VariableCellInt32InView

◆ VariableCellInt32OutView

◆ VariableCellInt64InView

◆ VariableCellInt64OutView

◆ VariableCellReal2InView

◆ VariableCellReal2OutView

◆ VariableCellReal3InView

◆ VariableCellReal3OutView

◆ VariableCellRealInView

◆ VariableCellRealOutView

◆ VariableDoFByteInView

◆ VariableDoFByteOutView

◆ VariableDoFInt16InView

◆ VariableDoFInt16OutView

◆ VariableDoFInt32InView

◆ VariableDoFInt32OutView

◆ VariableDoFInt64InView

◆ VariableDoFInt64OutView

◆ VariableDoFReal2InView

◆ VariableDoFReal2OutView

◆ VariableDoFReal3InView

◆ VariableDoFReal3OutView

◆ VariableDoFRealInView

◆ VariableDoFRealOutView

◆ VariableEdgeByteInView

◆ VariableEdgeByteOutView

◆ VariableEdgeInt16InView

◆ VariableEdgeInt16OutView

◆ VariableEdgeInt32InView

◆ VariableEdgeInt32OutView

◆ VariableEdgeInt64InView

◆ VariableEdgeInt64OutView

◆ VariableEdgeReal2InView

◆ VariableEdgeReal2OutView

◆ VariableEdgeReal3InView

◆ VariableEdgeReal3OutView

◆ VariableEdgeRealInView

◆ VariableEdgeRealOutView

◆ VariableFaceByteInView

◆ VariableFaceByteOutView

◆ VariableFaceInt16InView

◆ VariableFaceInt16OutView

◆ VariableFaceInt32InView

◆ VariableFaceInt32OutView

◆ VariableFaceInt64InView

◆ VariableFaceInt64OutView

◆ VariableFaceReal2InView

◆ VariableFaceReal2OutView

◆ VariableFaceReal3InView

◆ VariableFaceReal3OutView

◆ VariableFaceRealInView

◆ VariableFaceRealOutView

◆ VariableNodeByteInView

◆ VariableNodeByteOutView

◆ VariableNodeInt16InView

◆ VariableNodeInt16OutView

◆ VariableNodeInt32InView

◆ VariableNodeInt32OutView

◆ VariableNodeInt64InView

◆ VariableNodeInt64OutView

◆ VariableNodeReal2InView

◆ VariableNodeReal2OutView

◆ VariableNodeReal3InView

◆ VariableNodeReal3OutView

◆ VariableNodeRealInView

◆ VariableNodeRealOutView

◆ VariableParticleByteInView

◆ VariableParticleByteOutView

◆ VariableParticleInt16InView

◆ VariableParticleInt16OutView

◆ VariableParticleInt32InView

◆ VariableParticleInt32OutView

◆ VariableParticleInt64InView

◆ VariableParticleInt64OutView

◆ VariableParticleReal2InView

◆ VariableParticleReal2OutView

◆ VariableParticleReal3InView

◆ VariableParticleReal3OutView

◆ VariableParticleRealInView

◆ VariableParticleRealOutView

Documentation du type de l'énumération

◆ eAtomicOperation

Type d'opération atomique supportée.

Valeurs énumérées
Add 

Ajout.

Min 

Minimum.

Max 

Maximum.

Définition à la ligne 42 du fichier AcceleratorGlobal.h.

◆ eDeviceReducePolicy

Politique des opératations de réduction sur les accélérateurs.

Valeurs énumérées
Atomic 

Utilise des opérations atomiques entre les blocs.

Grid 

Utilise un noyau de calcul avec une synchronisations entre les blocs.

Définition à la ligne 112 du fichier AcceleratorCoreGlobal.h.

◆ eExecutionPolicy

Politique d'exécution pour un Runner.

Valeurs énumérées
None 

Aucune politique d'exécution.

Sequential 

Politique d'exécution séquentielle.

Thread 

Politique d'exécution multi-thread.

CUDA 

Politique d'exécution utilisant l'environnement CUDA.

HIP 

Politique d'exécution utilisant l'environnement HIP.

SYCL 

Politique d'exécution utilisant l'environnement SYCL.

Définition à la ligne 86 du fichier AcceleratorCoreGlobal.h.

◆ eMemoryAdvice

Conseils pour la gestion mémoire.

Valeurs énumérées
None 

Aucun conseil.

MostlyRead 

Indique que la zone mémoire est principalement en lecture seule.

PreferredLocationDevice 

Privilégié le positionnement de la mémoire sur l'accélérateur.

PreferredLocationHost 

Privilégié le positionnement de la mémoire sur l'hôte.

AccessedByDevice 

Indique que la zone mémoire est accédée par l'accélérateur.

AccessedByHost 

Indique que la zone mémoire est accédée par l'hôte.

Définition à la ligne 35 du fichier Memory.h.

◆ ePointerAccessibility

Informations d'accessibilité d'une adresse mémoire.

Indique si une adresse mémoire est accessible sur un accélérateur ou sur le CPU.

Voir également
getPointerAccessibility()
Valeurs énumérées
Unknown 

Accessibilité inconnue.

No 

Non accessible.

Yes 

Accessible.

Définition à la ligne 166 du fichier AcceleratorCoreGlobal.h.

◆ ePointerMemoryType

Type de mémoire pour un pointeur.

Définition à la ligne 140 du fichier AcceleratorCoreGlobal.h.

◆ eRunQueuePriority

Niveaux de priorité prédéfinis pour les files d'exécution sur les accélérateurs.

Valeurs énumérées
Default 

Utilise 0 comme valeur par défaut.

High 

Une valeur arbitraire négative pour définir une priorité élevée.

Low 

Une valeur arbitraire positive pour définir une priorité faible.

Définition à la ligne 126 du fichier AcceleratorCoreGlobal.h.

Documentation des fonctions

◆ arcaneCreateAcceleratorMngRef()

ARCANE_IMPORT Ref< IAcceleratorMng > Arcane::Accelerator::arcaneCreateAcceleratorMngRef ( ITraceMng tm)

Définition à la ligne 104 du fichier AcceleratorMng.cc.

◆ arcaneInitializeRunner()

void Arcane::Accelerator::arcaneInitializeRunner ( Accelerator::Runner runner,
ITraceMng tm,
const AcceleratorRuntimeInitialisationInfo acc_info 
)

Initialise runner avec les informations de acc_info.

Cette fonction appelle Accelerator::Runner::setAsCurrentDevice() après l'initialisation.

Définition à la ligne 169 du fichier AcceleratorRuntimeInitialisationInfo.cc.

Références ARCANE_FATAL, Arccore::TraceAccessor::info(), Arcane::Accelerator::Runner::initialize(), None, et Arcane::Accelerator::Runner::setAsCurrentDevice().

Référencé par Arcane::Accelerator::AcceleratorMng::initialize(), et initializeRunner().

◆ doAtomic() [1/2]

template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType >
requires (std::convertible_to<ValueType, DataType>)
ARCCORE_HOST_DEVICE void Arcane::Accelerator::doAtomic ( const DataViewGetterSetter< DataType > &  view,
ValueType  value 
)
inline

Applique l'opération atomique Operation à la vue view avec la valeur value.

Définition à la ligne 185 du fichier accelerator/Atomic.h.

◆ doAtomic() [2/2]

template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType >
requires (std::convertible_to<ValueType, DataType>)
ARCCORE_HOST_DEVICE void Arcane::Accelerator::doAtomic ( DataType *  ptr,
ValueType  value 
)
inline

Applique l'opération atomique Operation à la valeur à l'adresse ptr avec la valeur value.

Définition à la ligne 175 du fichier accelerator/Atomic.h.

◆ getPointerAccessibility() [1/4]

ePointerAccessibility Arcane::Accelerator::getPointerAccessibility ( eExecutionPolicy  policy,
const void ptr,
PointerAttribute ptr_attr = nullptr 
)

Accessibilité de l'adresse ptr pour une politique d'exécutionpolicy.

Si ptr_attr est non nul, il sera remplit avec les informations du pointeur comme si on avait appelé Runner::fillPointerAttribute().

Définition à la ligne 286 du fichier AcceleratorCore.cc.

Référencé par getPointerAccessibility().

◆ getPointerAccessibility() [2/4]

ePointerAccessibility Arcane::Accelerator::getPointerAccessibility ( Runner runner,
const void ptr,
PointerAttribute ptr_attr = nullptr 
)

Accessibilité de l'adresse ptr pour une exécution sur runner.

Si runner est nul, retourne ePointerAccessibility::Unknown. Si ptr_attr est non nul, il sera remplit avec les informations du pointeur comme si on avait appelé Runner::fillPointerAttribute().

Définition à la ligne 566 du fichier Runner.cc.

Références Arcane::Accelerator::Runner::executionPolicy(), et Unknown.

◆ getPointerAccessibility() [3/4]

ePointerAccessibility Arcane::Accelerator::getPointerAccessibility ( RunQueue queue,
const void ptr,
PointerAttribute ptr_attr = nullptr 
)

Accessibilité de l'adresse ptr pour une exécution sur la file queue.

Si queue est nul, retourne ePointerAccessibility::Unknown. Si ptr_attr est non nul, il sera remplit avec les informations du pointeur comme si on avait appelé Runner::fillPointerAttribute().

Définition à la ligne 365 du fichier RunQueue.cc.

Références Arcane::Accelerator::RunQueue::executionPolicy(), Arcane::Accelerator::RunQueue::isNull(), et Unknown.

◆ getPointerAccessibility() [4/4]

template<typename T >
ePointerAccessibility Arcane::Accelerator::getPointerAccessibility ( T &  queue_or_runner_or_policy,
const void ptr,
PointerAttribute ptr_attr = nullptr 
)
inline

Accessibilité de l'adresse ptr pour une exécution sur queue_or_runner_or_policy.

Définition à la ligne 219 du fichier AcceleratorCoreGlobal.h.

Références getPointerAccessibility().

◆ initializeRunner()

void Arcane::Accelerator::initializeRunner ( Runner runner,
ITraceMng tm,
const AcceleratorRuntimeInitialisationInfo acc_info 
)

Initialise runner en fonction de la valeur de acc_info.

Définition à la ligne 51 du fichier Accelerator.cc.

Références arcaneInitializeRunner().

◆ isAcceleratorPolicy()

bool Arcane::Accelerator::isAcceleratorPolicy ( eExecutionPolicy  exec_policy)
inline

◆ makeAsyncQueuePool() [1/4]

AsyncRunQueuePool Arcane::Accelerator::makeAsyncQueuePool ( Runner runner)
inline

Créé un pool de file temporaire associée à runner.

La taille du pool est de AsyncRunQueuePool::POOL_MAX_SIZE et les queues ont une priorité par défault.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 118 du fichier AsyncRunQueuePool.h.

◆ makeAsyncQueuePool() [2/4]

AsyncRunQueuePool Arcane::Accelerator::makeAsyncQueuePool ( Runner runner,
Int32  size,
eRunQueuePriority  priority = eRunQueuePriority::Default 
)
inline

Créé un pool de file temporaire associée à runner.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 129 du fichier AsyncRunQueuePool.h.

◆ makeAsyncQueuePool() [3/4]

AsyncRunQueuePool Arcane::Accelerator::makeAsyncQueuePool ( Runner runner)
inline

Créé un pool de file temporaire associée à runner.

La taille du pool est de AsyncRunQueuePool::POOL_MAX_SIZE et les queues ont une priorité par défault.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 143 du fichier AsyncRunQueuePool.h.

Références ARCANE_CHECK_POINTER.

◆ makeAsyncQueuePool() [4/4]

AsyncRunQueuePool Arcane::Accelerator::makeAsyncQueuePool ( Runner runner,
Int32  size,
eRunQueuePriority  priority = eRunQueuePriority::Default 
)
inline

Créé un pool de file temporaire associée à runner.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 155 du fichier AsyncRunQueuePool.h.

Références ARCANE_CHECK_POINTER.

◆ makeCommand() [1/2]

RunCommand Arcane::Accelerator::makeCommand ( const RunQueue run_queue)
inline

◆ makeCommand() [2/2]

RunCommand Arcane::Accelerator::makeCommand ( const RunQueue run_queue)
inline

Créé une commande associée à la file run_queue.

Définition à la ligne 258 du fichier core/RunQueue.h.

◆ makeEvent()

RunQueueEvent Arcane::Accelerator::makeEvent ( Runner runner)
inline

Créé un évènement associé à runner.

Définition à la ligne 76 du fichier RunQueueEvent.h.

◆ makeEventRef()

Ref< RunQueueEvent > Arcane::Accelerator::makeEventRef ( Runner runner)
inline

Créé un évènement associé à runner.

Définition à la ligne 87 du fichier RunQueueEvent.h.

◆ makeQueue() [1/4]

RunQueue Arcane::Accelerator::makeQueue ( const Runner runner)
inline

Créé une file associée à runner.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 202 du fichier core/Runner.h.

Référencé par Arcane::Materials::AllEnvData::_rebuildIncrementalConnectivitiesFromGroups(), et Arcane::Accelerator::RunQueuePool::initialize().

◆ makeQueue() [2/4]

RunQueue Arcane::Accelerator::makeQueue ( const Runner runner,
const RunQueueBuildInfo bi 
)
inline

Créé une file associée à runner avec les propriétés bi.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 229 du fichier core/Runner.h.

◆ makeQueue() [3/4]

RunQueue Arcane::Accelerator::makeQueue ( const Runner runner)
inline

Créé une file associée à runner.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 215 du fichier core/Runner.h.

◆ makeQueue() [4/4]

RunQueue Arcane::Accelerator::makeQueue ( const Runner runner,
const RunQueueBuildInfo bi 
)
inline

Créé une file associée à runner avec les propriétés bi.

Cet appel est thread-safe si runner.isConcurrentQueueCreation()==true.

Définition à la ligne 242 du fichier core/Runner.h.

◆ makeQueueRef() [1/3]

Ref< RunQueue > Arcane::Accelerator::makeQueueRef ( const Runner runner)
inline

Créé une référence sur file avec la politique d'exécution par défaut de runner.

Si la file est temporaire, il est préférable d'utiliser makeQueue() à la place pour éviter une allocation inutile.

Définition à la ligne 257 du fichier core/Runner.h.

Référencé par Arcane::Accelerator::AcceleratorMng::initialize().

◆ makeQueueRef() [2/3]

Ref< RunQueue > Arcane::Accelerator::makeQueueRef ( Runner runner,
const RunQueueBuildInfo bi 
)
inline

Créé une référence sur file avec la politique d'exécution par défaut de runner.

Si la file est temporaire, il est préférable d'utiliser makeQueue() à la place pour éviter une allocation inutile.

Définition à la ligne 271 du fichier core/Runner.h.

◆ makeQueueRef() [3/3]

Ref< RunQueue > Arcane::Accelerator::makeQueueRef ( Runner runner)
inline

Créé une référence sur file avec la politique d'exécution par défaut de runner.

Si la file est temporaire, il est préférable d'utiliser makeQueue() à la place pour éviter une allocation inutile.

Définition à la ligne 285 du fichier core/Runner.h.

◆ operator<<() [1/22]

template<int N, template< int, typename > class ForLoopBoundType, typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::operator<< ( ArrayBoundRunCommand< N, ForLoopBoundType< N, Int32 >, RemainingArgs... > &&  nr,
const Lambda f 
)

Définition à la ligne 190 du fichier RunCommandLoop.h.

◆ operator<<() [2/22]

template<typename TraitsType , typename Lambda >
void Arcane::Accelerator::operator<< ( ItemRunCommand< TraitsType > &  nr,
const Lambda f 
)

Définition à la ligne 396 du fichier RunCommandEnumerate.h.

◆ operator<<() [3/22]

template<typename TraitsType , typename Lambda , typename... ReducerArgs>
void Arcane::Accelerator::operator<< ( ItemRunCommand< TraitsType, ReducerArgs... > &&  nr,
const Lambda f 
)

Définition à la ligne 408 du fichier RunCommandEnumerate.h.

◆ operator<<() [4/22]

template<typename ExtentType >
auto Arcane::Accelerator::operator<< ( RunCommand command,
const ArrayBounds< ExtentType > &  bounds 
) -> ArrayBoundRunCommand<ExtentType::rank(), SimpleForLoopRanges<ExtentType::rank(), Int32>>

Définition à la ligne 163 du fichier RunCommandLoop.h.

◆ operator<<() [5/22]

template<int N>
ArrayBoundRunCommand< N, ComplexForLoopRanges< N > > Arcane::Accelerator::operator<< ( RunCommand command,
const ComplexForLoopRanges< N, Int32 > &  bounds 
)

Définition à la ligne 170 du fichier RunCommandLoop.h.

◆ operator<<() [6/22]

auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::EnvAndGlobalCellRunCommand::Container view 
)
inline

Définition à la ligne 868 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<() [7/22]

auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::EnvCellRunCommand::Container view 
)
inline

Définition à la ligne 877 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<() [8/22]

template<typename ExtentType , typename... RemainingArgs>
auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::ExtendedArrayBoundLoop< ExtentType, RemainingArgs... > &  ex_loop 
) -> ArrayBoundRunCommand<1, SimpleForLoopRanges<1, Int32>, RemainingArgs...>

Définition à la ligne 170 du fichier RunCommandLoop.h.

◆ operator<<() [9/22]

template<typename TraitsType , typename... ReducerArgs>
auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::GenericMatCommandArgs< TraitsType, ReducerArgs... > &  args 
)

Définition à la ligne 849 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<() [10/22]

template<typename TraitsType , typename... ReducerArgs>
auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::ItemRunCommandArgs< TraitsType, ReducerArgs... > &  args 
)

Définition à la ligne 401 du fichier RunCommandEnumerate.h.

◆ operator<<() [11/22]

auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::MatAndGlobalCellRunCommand::Container view 
)
inline

Définition à la ligne 859 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<() [12/22]

auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::MatCellRunCommand::Container view 
)
inline

Définition à la ligne 886 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<() [13/22]

template<typename ItemType >
auto Arcane::Accelerator::operator<< ( RunCommand command,
const impl::RunCommandItemEnumeratorTraitsT< ItemType > &  traits 
)

Définition à la ligne 368 du fichier RunCommandEnumerate.h.

◆ operator<<() [14/22]

template<typename ItemType >
auto Arcane::Accelerator::operator<< ( RunCommand command,
const ItemGroupT< ItemType > &  items 
)

Définition à la ligne 388 du fichier RunCommandEnumerate.h.

◆ operator<<() [15/22]

template<typename ItemType >
auto Arcane::Accelerator::operator<< ( RunCommand command,
const ItemVectorViewT< ItemType > &  items 
)

Définition à la ligne 379 du fichier RunCommandEnumerate.h.

◆ operator<<() [16/22]

template<int N>
ArrayBoundRunCommand< N, SimpleForLoopRanges< N > > Arcane::Accelerator::operator<< ( RunCommand command,
const SimpleForLoopRanges< N, Int32 > &  bounds 
)

Définition à la ligne 170 du fichier RunCommandLoop.h.

◆ operator<<() [17/22]

RunCommand & Arcane::Accelerator::operator<< ( RunCommand command,
const TraceInfo trace_info 
)

Définition à la ligne 130 du fichier RunCommand.cc.

◆ operator<<() [18/22]

std::ostream & Arcane::Accelerator::operator<< ( std::ostream &  o,
const DeviceId device_id 
)

Définition à la ligne 186 du fichier AcceleratorCore.cc.

◆ operator<<() [19/22]

std::ostream & Arcane::Accelerator::operator<< ( std::ostream &  o,
const PointerAttribute a 
)

Définition à la ligne 301 du fichier AcceleratorCore.cc.

◆ operator<<() [20/22]

std::ostream & Arcane::Accelerator::operator<< ( std::ostream &  o,
eExecutionPolicy  exec_policy 
)

Affiche le nom de la politique d'exécution.

Définition à la ligne 157 du fichier AcceleratorCore.cc.

Références CUDA, HIP, None, Sequential, SYCL, et Thread.

◆ operator<<() [21/22]

std::ostream & Arcane::Accelerator::operator<< ( std::ostream &  o,
eMemoryAdvice  a 
)

Définition à la ligne 47 du fichier Memory.cc.

◆ operator<<() [22/22]

std::ostream & Arcane::Accelerator::operator<< ( std::ostream &  o,
ePointerMemoryType  mem_type 
)

Affiche le nom du type de mémoire.

Définition à la ligne 195 du fichier AcceleratorCore.cc.

◆ run() [1/4]

template<typename ExtentType , typename Lambda >
void Arcane::Accelerator::run ( RunCommand command,
ArrayBounds< ExtentType >  bounds,
const Lambda func 
)

Applique la lambda func sur l'intervalle d'itération donnée par bounds.

Définition à la ligne 106 du fichier RunCommandLoop.h.

◆ run() [2/4]

template<int N, typename Lambda >
void Arcane::Accelerator::run ( RunCommand command,
ComplexForLoopRanges< N, Int32 >  bounds,
const Lambda func 
)

Applique la lambda func sur l'intervalle d'itération donnée par bounds.

Définition à la ligne 126 du fichier RunCommandLoop.h.

◆ run() [3/4]

template<typename TraitsType , typename Lambda >
void Arcane::Accelerator::run ( RunCommand command,
const TraitsType &  traits,
const Lambda func 
)

Définition à la ligne 332 du fichier RunCommandEnumerate.h.

◆ run() [4/4]

template<int N, typename Lambda >
void Arcane::Accelerator::run ( RunCommand command,
SimpleForLoopRanges< N, Int32 >  bounds,
const Lambda func 
)

Applique la lambda func sur l'intervalle d'itération donnée par bounds.

Définition à la ligne 116 du fichier RunCommandLoop.h.

◆ runExtended()

template<int N, template< int T, typename > class LoopBoundType, typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::runExtended ( RunCommand command,
LoopBoundType< N, Int32 >  bounds,
const Lambda func,
const std::tuple< RemainingArgs... > &  other_args 
)

Applique la lambda func sur l'intervalle d'itération donnée par bounds.

Définition à la ligne 133 du fichier RunCommandLoop.h.

◆ viewIn() [1/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const Array< DataType > &  var 
)

Vue en lecture.

Définition à la ligne 246 du fichier SpanViews.h.

Références viewIn().

◆ viewIn() [2/11]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const MeshPartialVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en lecture.

Définition à la ligne 1227 du fichier VariableViews.h.

◆ viewIn() [3/11]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const MeshPartialVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en lecture.

Définition à la ligne 1209 du fichier VariableViews.h.

◆ viewIn() [4/11]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const MeshVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en lecture.

Définition à la ligne 1236 du fichier VariableViews.h.

◆ viewIn() [5/11]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const MeshVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en lecture.

Définition à la ligne 1218 du fichier VariableViews.h.

◆ viewIn() [6/11]

template<typename DataType , typename Extents , typename LayoutType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
const NumArray< DataType, Extents, LayoutType > &  v 
)

Vue en lecture.

Définition à la ligne 178 du fichier NumArrayViews.h.

◆ viewIn() [7/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
ConstArrayView< DataType >  var 
)

Vue en lecture.

Définition à la ligne 268 du fichier SpanViews.h.

Références viewIn().

◆ viewIn() [8/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
SmallSpan< DataType >  var 
)

Vue en lecture.

Définition à la ligne 257 du fichier SpanViews.h.

◆ viewIn() [9/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( const ViewBuildInfo command,
Span< DataType >  var 
)

Vue en lecture.

Définition à la ligne 234 du fichier SpanViews.h.

◆ viewIn() [10/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( RunCommand cmd,
const CellEnvironmentVariableScalarRef< DataType > &  var 
)

Vue en lecture pour les variables materiaux scalaire.

Définition à la ligne 247 du fichier MaterialVariableViews.h.

◆ viewIn() [11/11]

template<typename DataType >
auto Arcane::Accelerator::viewIn ( RunCommand cmd,
const CellMaterialVariableScalarRef< DataType > &  var 
)

Vue en lecture pour les variables materiaux scalaire.

Définition à la ligne 235 du fichier MaterialVariableViews.h.

Référencé par ArcaneTest::MaterialHeatTestModule::_addHeat(), Arcane::Materials::MeshEnvironment::_computeMaterialIndexesMonoMat(), Arcane::viewIn(), viewIn(), et viewIn().

◆ viewInOut() [1/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
Array< DataType > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 200 du fichier SpanViews.h.

Références viewInOut().

◆ viewInOut() [2/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
ArrayView< DataType >  var 
)

Vue en lecture/écriture.

Définition à la ligne 223 du fichier SpanViews.h.

Références viewInOut().

◆ viewInOut() [3/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshPartialVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1196 du fichier VariableViews.h.

◆ viewInOut() [4/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1134 du fichier VariableViews.h.

◆ viewInOut() [5/15]

template<typename ItemType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, Real2 > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1175 du fichier VariableViews.h.

◆ viewInOut() [6/15]

template<typename ItemType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, Real3 > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1154 du fichier VariableViews.h.

◆ viewInOut() [7/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1186 du fichier VariableViews.h.

◆ viewInOut() [8/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1124 du fichier VariableViews.h.

◆ viewInOut() [9/15]

template<typename ItemType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, Real2 > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1165 du fichier VariableViews.h.

◆ viewInOut() [10/15]

template<typename ItemType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, Real3 > &  var 
)

Vue en lecture/écriture.

Définition à la ligne 1144 du fichier VariableViews.h.

◆ viewInOut() [11/15]

template<typename DataType , typename Extents , typename LayoutPolicy >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
NumArray< DataType, Extents, LayoutPolicy > &  v 
)

Vue en lecture/écriture.

Définition à la ligne 166 du fichier NumArrayViews.h.

◆ viewInOut() [12/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
SmallSpan< DataType >  var 
)

Vue en lecture/écriture.

Définition à la ligne 211 du fichier SpanViews.h.

◆ viewInOut() [13/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( const ViewBuildInfo command,
Span< DataType >  var 
)

Vue en lecture/écriture.

Définition à la ligne 188 du fichier SpanViews.h.

◆ viewInOut() [14/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( RunCommand cmd,
CellEnvironmentVariableScalarRef< DataType > &  var 
)

Vue en lecture/écriture pour les variables materiaux scalaire.

Définition à la ligne 222 du fichier MaterialVariableViews.h.

◆ viewInOut() [15/15]

template<typename DataType >
auto Arcane::Accelerator::viewInOut ( RunCommand cmd,
CellMaterialVariableScalarRef< DataType > &  var 
)

◆ viewOut() [1/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
Array< DataType > &  var 
)

Vue en écriture.

Définition à la ligne 155 du fichier SpanViews.h.

Références viewOut().

◆ viewOut() [2/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
ArrayView< DataType >  var 
)

Vue en écriture.

Définition à la ligne 177 du fichier SpanViews.h.

Références viewOut().

◆ viewOut() [3/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshPartialVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en écriture.

Définition à la ligne 1111 du fichier VariableViews.h.

◆ viewOut() [4/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en écriture.

Définition à la ligne 1048 du fichier VariableViews.h.

◆ viewOut() [5/15]

template<typename ItemType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, Real2 > &  var 
)

Vue en écriture.

Définition à la ligne 1090 du fichier VariableViews.h.

◆ viewOut() [6/15]

template<typename ItemType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshPartialVariableScalarRefT< ItemType, Real3 > &  var 
)

Vue en écriture.

Définition à la ligne 1069 du fichier VariableViews.h.

◆ viewOut() [7/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshVariableArrayRefT< ItemType, DataType > &  var 
)

Vue en écriture.

Définition à la ligne 1101 du fichier VariableViews.h.

◆ viewOut() [8/15]

template<typename ItemType , typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, DataType > &  var 
)

Vue en écriture.

Définition à la ligne 1038 du fichier VariableViews.h.

◆ viewOut() [9/15]

template<typename ItemType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, Real2 > &  var 
)

Vue en écriture.

Définition à la ligne 1080 du fichier VariableViews.h.

◆ viewOut() [10/15]

template<typename ItemType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
MeshVariableScalarRefT< ItemType, Real3 > &  var 
)

Vue en écriture.

Définition à la ligne 1059 du fichier VariableViews.h.

◆ viewOut() [11/15]

template<typename DataType , typename Extents , typename LayoutPolicy >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
NumArray< DataType, Extents, LayoutPolicy > &  var 
)

Vue en écriture.

Définition à la ligne 153 du fichier NumArrayViews.h.

◆ viewOut() [12/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
SmallSpan< DataType >  var 
)

Vue en écriture.

Définition à la ligne 166 du fichier SpanViews.h.

◆ viewOut() [13/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( const ViewBuildInfo command,
Span< DataType >  var 
)

Vue en écriture.

Définition à la ligne 143 du fichier SpanViews.h.

◆ viewOut() [14/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( RunCommand cmd,
CellEnvironmentVariableScalarRef< DataType > &  var 
)

Vue en écriture pour les variables materiaux scalaire.

Définition à la ligne 198 du fichier MaterialVariableViews.h.

◆ viewOut() [15/15]

template<typename DataType >
auto Arcane::Accelerator::viewOut ( RunCommand cmd,
CellMaterialVariableScalarRef< DataType > &  var 
)

Vue en écriture pour les variables materiaux scalaire.

Définition à la ligne 186 du fichier MaterialVariableViews.h.

Référencé par Arcane::viewOut(), viewOut(), et viewOut().