Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::Accelerator Namespace Reference

Namespace for accelerator usage. More...

Namespaces

namespace  AcceleratorUtils
 Namespace for accelerator utility methods.

Classes

class  AsyncRunQueuePool
 Collection of asynchronous execution queues with priority on accelerator. More...
class  MatVariableViewBase
 Base class for views on material variables. More...
class  MatItemVariableScalarInViewT
 Read view on a scalar mesh variable. More...
class  MatItemVariableScalarOutViewT
 Write view on a scalar mesh variable. More...
class  ItemRunCommand
class  View1DGetterSetter
 Class to access a 1D array of a read/write view. More...
class  VariableViewBase
 Base class for variable views. More...
class  View1DSetter
 Class to access a 1D array of a read/write view. More...
class  ItemVariableScalarOutViewBaseT
 Write view on a scalar variable of the mesh. More...
class  ItemVariableScalarOutViewT
 Write view on a scalar variable of the mesh. More...
class  ItemPartialVariableScalarOutViewT
 Write view on a partial scalar variable of the mesh. More...
class  ItemVariableScalarInViewT
 Read view on a scalar variable of the mesh. More...
class  ItemPartialVariableScalarInViewT
 Read view on a partial scalar variable of the mesh. More...
class  ItemPartialVariableArrayInViewT
 Read-only view on a partial array variable of the mesh. More...
class  ItemVariableArrayInViewT
 Read-only view on a mesh array variable. More...
class  ItemVariableArrayOutViewBaseT
 Write-only view on a mesh array variable. More...
class  ItemVariableArrayOutViewT
 Write-only view on a mesh array variable. More...
class  ItemPartialVariableArrayOutViewT
 Write-only view on a partial array variable of the mesh. More...
class  ItemVariableRealNScalarOutViewT
 Write-only view on a scalar variable of type 'RealN' of the mesh. More...
class  ItemPartialVariableRealNScalarOutViewT
class  AcceleratorMng
 Module Manager. More...
class  AcceleratorRuntimeInitialisationInfo
 Information for accelerator initialization. More...
class  DeviceId
 Identifier of a system component. More...
class  DeviceInfo
 Information about an accelerator. More...
class  DeviceMemoryInfo
 Accelerator memory information. More...
class  IAcceleratorMng
 Accelerator manager interface. More...
class  IDeviceInfoList
 Interface of a list of devices. More...
class  MemoryCopyArgs
 Memory copy arguments. More...
class  MemoryPrefetchArgs
 Memory prefetching arguments. More...
class  PointerAttribute
 Information about a memory address. More...
class  ProfileRegion
 Region for profiling. More...
class  RunCommand
 Management of an accelerator command. More...
class  Runner
 Execution manager for accelerator. More...
class  RunQueue
 Execution queue for an accelerator. More...
class  RunQueueBuildInfo
 Information to create a RunQueue. More...
class  RunQueueEvent
 Event for a run queue. More...
class  RunQueuePool
 Collection of RunQueues. More...
class  ViewBuildInfo
 Information to build a view for accelerator data. More...
class  LocalMemory
class  AcceleratorInitializer
 Class to initialize a runtime for the accelerator API. More...
class  CooperativeHostWorkItemGrid
 Manages a WorkItem grid in a CooperativeWorkGroupLoopRange for the host. More...
class  CooperativeWorkGroupLoopContext
 Execution context for a command on a set of blocks. More...
class  CooperativeWorkGroupLoopRange
 Iteration range of a loop using cooperative hierarchical parallelism. More...
class  GenericFilterer
 Generic filtering algorithm on accelerator. More...
class  GenericPartitioner
 Generic algorithm for partitioning a list. More...
class  GenericReducer
 Generic accelerator reduction algorithm. More...
class  Scanner
 Exclusive or inclusive scan algorithms on accelerators. More...
class  GenericScanner
 Exclusive or inclusive scan algorithms on accelerators. More...
class  GenericSorter
 Generic sorting algorithm on accelerator. More...
class  NumArrayViewSetter
class  NumArrayView
 Read, write, or read/write view on a 'NumArray'. More...
class  NumArrayViewBase
 Base class for views on 'NumArray'. More...
class  HostDeviceReducerBase
 Reduction operator. More...
class  HostDeviceReducer
 Version 1 of the reduction. More...
class  HostDeviceReducer2
 Version 2 of the reduction. More...
class  SyclReducer
 Implementation of the reduction for the SYCL backend. More...
class  ReducerSum
 Class to perform a 'sum' reduction. More...
class  ReducerMax
 Class to perform a 'max' reduction. More...
class  ReducerMin
 Class to perform a 'min' reduction. More...
class  ReducerSum2
 Class to perform a 'sum' reduction. More...
class  ReducerMax2
 Class to perform a 'max' reduction. More...
class  ReducerMin2
 Class to perform a 'min' reduction. More...
class  SpanViewSetter
class  SpanViewBase
 Base class for views on 'NumArray'. More...
class  SpanView
 Read, write, or read/write view on a 'Span'. More...
class  SmallSpanView
 Read, write, or read/write view on a 'SmallSpan'. More...
class  HostWorkItem
 Manages a WorkItem on the host within a WorkGroupLoopRange or CooperativeWorkGroupLoopRange. More...
class  DeviceWorkItem
class  SyclDeviceWorkItem
class  WorkGroupLoopRange
 Iteration range of a loop using hierarchical parallelism. More...
class  WorkGroupLoopContext
 Execution context of a command on a set of blocks. More...
class  SyclWorkGroupLoopContext
class  SyclCooperativeWorkGroupLoopContext
class  WorkGroupLoopContextBase
 Base class for WorkGroupLoopContext and CooperativeWorkGroupLoopContext. More...
class  SyclWorkGroupLoopContextBase
class  HostIndexes
class  DeviceIndexesBase
class  HostWorkItemBlock
 Manages a block of WorkItems on the host within a WorkGroupLoopRange or a CooperativeWorkGroupLoopRange. More...
class  WorkGroupLoopRangeBase
 Iteration range of a loop using hierarchical parallelism. More...
class  NumArray
 Multi-dimensional arrays for numerical types accessible on accelerators. More...

Concepts

concept  AcceleratorAtomicConcept
 List of types supporting atomic operations.

Typedefs

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, Int16VariableNodeInt16InView
typedef ItemVariableScalarInViewT< Edge, Int16VariableEdgeInt16InView
typedef ItemVariableScalarInViewT< Face, Int16VariableFaceInt16InView
typedef ItemVariableScalarInViewT< Cell, Int16VariableCellInt16InView
typedef ItemVariableScalarInViewT< Particle, Int16VariableParticleInt16InView
typedef ItemVariableScalarInViewT< DoF, Int16VariableDoFInt16InView
typedef ItemVariableScalarInViewT< Node, Int32VariableNodeInt32InView
typedef ItemVariableScalarInViewT< Edge, Int32VariableEdgeInt32InView
typedef ItemVariableScalarInViewT< Face, Int32VariableFaceInt32InView
typedef ItemVariableScalarInViewT< Cell, Int32VariableCellInt32InView
typedef ItemVariableScalarInViewT< Particle, Int32VariableParticleInt32InView
typedef ItemVariableScalarInViewT< DoF, Int32VariableDoFInt32InView
typedef ItemVariableScalarInViewT< Node, Int64VariableNodeInt64InView
typedef ItemVariableScalarInViewT< Edge, Int64VariableEdgeInt64InView
typedef ItemVariableScalarInViewT< Face, Int64VariableFaceInt64InView
typedef ItemVariableScalarInViewT< Cell, Int64VariableCellInt64InView
typedef ItemVariableScalarInViewT< Particle, Int64VariableParticleInt64InView
typedef ItemVariableScalarInViewT< DoF, Int64VariableDoFInt64InView
typedef ItemVariableScalarInViewT< Node, RealVariableNodeRealInView
typedef ItemVariableScalarInViewT< Edge, RealVariableEdgeRealInView
typedef ItemVariableScalarInViewT< Face, RealVariableFaceRealInView
typedef ItemVariableScalarInViewT< Cell, RealVariableCellRealInView
typedef ItemVariableScalarInViewT< Particle, RealVariableParticleRealInView
typedef ItemVariableScalarInViewT< DoF, RealVariableDoFRealInView
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>
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>
 Input view on a NumArray.
template<typename DataType, typename Extents, typename LayoutType = DefaultLayout>
using NumArrayOutView = NumArrayView<DataViewSetter<DataType>, Extents, LayoutType>
 Output view on a NumArray.
template<typename DataType, typename Extents, typename LayoutType = DefaultLayout>
using NumArrayInOutView = NumArrayView<DataViewGetterSetter<DataType>, Extents, LayoutType>
 Input/output view on a NumArray.
template<typename DataType, typename ReduceFunctor>
using Reducer = HostDeviceReducer<DataType, ReduceFunctor>

Enumerations

enum class  eExecutionPolicy {
  None , Sequential , Thread , CUDA ,
  HIP , SYCL
}
 Execution policy for a Runner. More...
enum class  eDeviceReducePolicy { Atomic = 1 , Grid = 2 }
 Reduction operation policy on accelerators. More...
enum class  eRunQueuePriority : int { Default = 0 , High = -100 , Low = 100 }
 Predefined priority levels for run queues on accelerators. More...
enum class  ePointerMemoryType { Unregistered = 0 , Host = 1 , Device = 2 , Managed = 3 }
 Memory type for a pointer. More...
enum class  ePointerAccessibility { Unknown = 0 , No = 1 , Yes = 2 }
 Accessibility information of a memory address. More...
enum class  eMemoryAdvice {
  None = 0 , MostlyRead , PreferredLocationDevice , PreferredLocationHost ,
  AccessedByDevice , AccessedByHost
}
 Memory management advice. More...
enum class  eAtomicOperation { Add , Min , Max }
 Supported atomic operation type. More...

Functions

void arcaneInitializeRunner (Runner &runner, ITraceMng *tm, const AcceleratorRuntimeInitialisationInfo &acc_info)
 Initializes runner with the information from acc_info.
 ARCANE_REGISTER_PROPERTY_CLASS (AcceleratorRuntimeInitialisationInfoProperties,())
void initializeRunner (Runner &runner, ITraceMng *tm, const AcceleratorRuntimeInitialisationInfo &acc_info)
 Initializes runner based on the value of acc_info.
AsyncRunQueuePool makeAsyncQueuePool (Runner &runner)
 Creates a temporary queue pool associated with runner.
AsyncRunQueuePool makeAsyncQueuePool (Runner &runner, Int32 size, eRunQueuePriority priority=eRunQueuePriority::Default)
 Creates a temporary queue pool associated with runner.
AsyncRunQueuePool makeAsyncQueuePool (Runner *runner)
 Creates a temporary queue pool associated with runner.
AsyncRunQueuePool makeAsyncQueuePool (Runner *runner, Int32 size, eRunQueuePriority priority=eRunQueuePriority::Default)
 Creates a temporary queue pool associated with runner.
template<typename DataType>
auto viewOut (const ViewBuildInfo &vbi, CellMaterialVariableScalarRef< DataType > &var)
 Write view for scalar material variables.
template<typename DataType>
auto viewOut (const ViewBuildInfo &vbi, CellEnvironmentVariableScalarRef< DataType > &var)
 Write view for scalar material variables.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &vbi, CellMaterialVariableScalarRef< DataType > &var)
 Read/write view for scalar material variables.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &vbi, CellEnvironmentVariableScalarRef< DataType > &var)
 Read/write view for scalar material variables.
template<typename DataType>
auto viewIn (const ViewBuildInfo &vbi, const CellMaterialVariableScalarRef< DataType > &var)
 Read view for scalar material variables.
template<typename DataType>
auto viewIn (const ViewBuildInfo &vbi, const CellEnvironmentVariableScalarRef< DataType > &var)
 Read view for scalar material variables.
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... RemainingArgs>
auto operator<< (RunCommand &command, const impl::ItemRunCommandArgs< TraitsType, RemainingArgs... > &args)
template<typename TraitsType, typename Lambda, typename... RemainingArgs>
void operator<< (ItemRunCommand< TraitsType, RemainingArgs... > &&nr, const Lambda &f)
template<typename TraitsType, typename... RemainingArgs>
auto operator<< (RunCommand &command, const Impl::GenericConstituentCommandArgs< TraitsType, RemainingArgs... > &args)
auto operator<< (RunCommand &command, const Impl::MatAndGlobalCellRunCommandContainer &view)
auto operator<< (RunCommand &command, const Impl::EnvAndGlobalCellRunCommandContainer &view)
auto operator<< (RunCommand &command, const Impl::EnvCellRunCommandContainer &view)
auto operator<< (RunCommand &command, const Impl::MatCellRunCommandContainer &view)
template<typename DataType>
auto viewOut (const ViewBuildInfo &command, ItemVariableScalarRefT< DataType > &var)
 Write view.
template<typename ItemType, typename DataType>
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, DataType > &var)
 Write view.
template<typename ItemType, typename DataType>
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Write view.
template<typename ItemType>
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real3 > &var)
 Write view.
template<typename ItemType>
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real3 > &var)
 Write view.
template<typename ItemType>
auto viewOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real2 > &var)
 Write view.
template<typename ItemType>
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real2 > &var)
 Write view.
template<typename ItemType, typename DataType>
auto viewOut (const ViewBuildInfo &command, MeshVariableArrayRefT< ItemType, DataType > &var)
 Write view.
template<typename ItemType, typename DataType>
auto viewOut (const ViewBuildInfo &command, MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Write view.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &command, ItemVariableScalarRefT< DataType > &var)
 Read/write view.
template<typename ItemType, typename DataType>
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, DataType > &var)
 Read/write view.
template<typename ItemType, typename DataType>
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Read/write view.
template<typename ItemType>
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real3 > &var)
 Read/write view.
template<typename ItemType>
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real3 > &var)
 Read/write view.
template<typename ItemType>
auto viewInOut (const ViewBuildInfo &command, MeshVariableScalarRefT< ItemType, Real2 > &var)
 Read/write view.
template<typename ItemType>
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableScalarRefT< ItemType, Real2 > &var)
 Read/write view.
template<typename ItemType, typename DataType>
auto viewInOut (const ViewBuildInfo &command, MeshVariableArrayRefT< ItemType, DataType > &var)
 Read/write view.
template<typename ItemType, typename DataType>
auto viewInOut (const ViewBuildInfo &command, MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Read/write view.
template<typename ItemType, typename DataType>
auto viewIn (const ViewBuildInfo &command, const MeshPartialVariableScalarRefT< ItemType, DataType > &var)
 Read view.
template<typename ItemType, typename DataType>
auto viewIn (const ViewBuildInfo &command, const MeshVariableScalarRefT< ItemType, DataType > &var)
 Read view.
template<typename DataType>
auto viewIn (const ViewBuildInfo &command, const ItemVariableScalarRefT< DataType > &var)
 Read view.
template<typename ItemType, typename DataType>
auto viewIn (const ViewBuildInfo &command, const MeshPartialVariableArrayRefT< ItemType, DataType > &var)
 Read view.
template<typename ItemType, typename DataType>
auto viewIn (const ViewBuildInfo &command, const MeshVariableArrayRefT< ItemType, DataType > &var)
 Read view.
std::ostream & operator<< (std::ostream &o, eExecutionPolicy exec_policy)
 Displays the name of the execution policy.
std::ostream & operator<< (std::ostream &o, const DeviceId &device_id)
std::ostream & operator<< (std::ostream &o, ePointerMemoryType mem_type)
 Prints the name of the memory type.
ePointerAccessibility getPointerAccessibility (eExecutionPolicy policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibility of address ptr for execution policypolicy.
std::ostream & operator<< (std::ostream &o, const PointerAttribute &a)
Ref< IAcceleratorMngarccoreCreateAcceleratorMngRef (ITraceMng *tm)
bool isAcceleratorPolicy (eExecutionPolicy exec_policy)
 Indicates if exec_policy corresponds to an accelerator.
ePointerAccessibility getPointerAccessibility (RunQueue *queue, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibility of address ptr for execution on queue queue.
ePointerAccessibility getPointerAccessibility (Runner *runner, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibility of address ptr for execution on runner.
template<typename T>
ePointerAccessibility getPointerAccessibility (T &queue_or_runner_or_policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibility of address ptr for execution on queue_or_runner_or_policy.
std::ostream & operator<< (std::ostream &o, eMemoryAdvice a)
RunCommandoperator<< (RunCommand &command, const TraceInfo &trace_info)
RunQueue makeQueue (const Runner &runner)
 Creates a queue associated with runner.
RunQueue makeQueue (const Runner *runner)
 Creates a queue associated with runner.
RunQueue makeQueue (const Runner &runner, const RunQueueBuildInfo &bi)
 Creates a queue associated with runner with properties bi.
RunQueue makeQueue (const Runner *runner, const RunQueueBuildInfo &bi)
 Creates a queue associated with runner with properties bi.
Ref< RunQueuemakeQueueRef (const Runner &runner)
 Creates a reference to a queue with the default execution policy of runner.
Ref< RunQueuemakeQueueRef (Runner &runner, const RunQueueBuildInfo &bi)
 Creates a reference to a queue with the default execution policy of runner.
Ref< RunQueuemakeQueueRef (Runner *runner)
 Creates a reference to a queue with the default execution policy of runner.
RunCommand makeCommand (const RunQueue &run_queue)
 Creates a command associated with the queue run_queue.
RunCommand makeCommand (const RunQueue *run_queue)
 Creates a command associated with the queue run_queue.
RunQueueEvent makeEvent (const Runner &runner)
 Creates an event associated with runner.
Ref< RunQueueEventmakeEventRef (const Runner &runner)
 Creates an event associated with runner.
template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType doAtomic (DataType *ptr, ValueType value)
 Applies the atomic operation Operation to the value at address ptr with the value value.
template<enum eAtomicOperation Operation, AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType doAtomic (const DataViewGetterSetter< DataType > &view, ValueType value)
 Applies the atomic operation Operation to the view view with the value value.
template<AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType doAtomicAdd (const DataViewGetterSetter< DataType > &view, ValueType value)
 Atomically adds to the view view with the value value.
template<AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType doAtomicAdd (DataType *ptr, ValueType value)
 Atomically adds the value to the address ptr with the value value.
template<typename DataType, typename Extents, typename LayoutPolicy>
auto viewOut (const ViewBuildInfo &command, NumArray< DataType, Extents, LayoutPolicy > &var)
 Write view.
template<typename DataType, typename Extents, typename LayoutPolicy>
auto viewInOut (const ViewBuildInfo &command, NumArray< DataType, Extents, LayoutPolicy > &v)
 Read/write view.
template<typename DataType, typename Extents, typename LayoutType>
auto viewIn (const ViewBuildInfo &command, const NumArray< DataType, Extents, LayoutType > &v)
 Read view.
template<typename LoopBoundType, typename... RemainingArgs>
auto operator<< (RunCommand &command, const Impl::ExtendedLaunchLoop< LoopBoundType, RemainingArgs... > &ex_loop) -> Impl::ExtendedLaunchRunCommand< LoopBoundType, RemainingArgs... >
template<typename ExtentType, typename Lambda>
void run (RunCommand &command, ArrayBounds< ExtentType > bounds, const Lambda &func)
 Applies the lambda func on the iteration range given by bounds.
template<int N, typename Lambda>
void run (RunCommand &command, SimpleForLoopRanges< N, Int32 > bounds, const Lambda &func)
 Applies the lambda func on the iteration range given by bounds.
template<int N, typename Lambda>
void run (RunCommand &command, ComplexForLoopRanges< N, Int32 > bounds, const Lambda &func)
 Applies the lambda func on the iteration range given by bounds.
template<typename ExtentType>
auto operator<< (RunCommand &command, const ArrayBounds< ExtentType > &bounds) -> Impl::ArrayBoundRunCommand< SimpleForLoopRanges< ExtentType::rank(), Int32 > >
template<typename LoopBoundType, typename... RemainingArgs>
auto operator<< (RunCommand &command, const Impl::ExtendedArrayBoundLoop< LoopBoundType, RemainingArgs... > &ex_loop) -> Impl::ArrayBoundRunCommand< LoopBoundType, RemainingArgs... >
template<int N>
Impl::ArrayBoundRunCommand< SimpleForLoopRanges< N > > operator<< (RunCommand &command, const SimpleForLoopRanges< N, Int32 > &bounds)
template<int N>
Impl::ArrayBoundRunCommand< ComplexForLoopRanges< N > > operator<< (RunCommand &command, const ComplexForLoopRanges< N, Int32 > &bounds)
template<typename DataType>
auto viewOut (const ViewBuildInfo &command, Span< DataType > var)
 Write view.
template<typename DataType>
auto viewOut (const ViewBuildInfo &command, Array< DataType > &var)
 Write view.
template<typename DataType>
auto viewOut (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Write view.
template<typename DataType>
auto viewOut (const ViewBuildInfo &command, ArrayView< DataType > var)
 Write view.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &command, Span< DataType > var)
 Read/write view.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &command, Array< DataType > &var)
 Read/write view.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Read/write view.
template<typename DataType>
auto viewInOut (const ViewBuildInfo &command, ArrayView< DataType > var)
 Read/write view.
template<typename DataType>
auto viewIn (const ViewBuildInfo &command, Span< DataType > var)
 Read view.
template<typename DataType>
auto viewIn (const ViewBuildInfo &command, const Array< DataType > &var)
 Read view.
template<typename DataType>
auto viewIn (const ViewBuildInfo &command, SmallSpan< DataType > var)
 Read view.
template<typename DataType>
auto viewIn (const ViewBuildInfo &command, ConstArrayView< DataType > var)
 Read view.

Detailed Description

Namespace for accelerator usage.

All classes and types used for accelerator management are in this namespace.

Typedef Documentation

◆ DataViewGetter

template<typename DataType>
using Arcane::Accelerator::DataViewGetter = Arcane::DataViewGetter<DataType>

Definition at line 43 of file ViewsCommon.h.

◆ DataViewGetterSetter

template<typename DataType>
using Arcane::Accelerator::DataViewGetterSetter = Arcane::DataViewGetterSetter<DataType>

Definition at line 42 of file ViewsCommon.h.

◆ DataViewSetter

template<typename DataType>
using Arcane::Accelerator::DataViewSetter = Arcane::DataViewSetter<DataType>

Definition at line 41 of file ViewsCommon.h.

◆ NumArrayInOutView

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

Input/output view on a NumArray.

Definition at line 204 of file arccore/src/accelerator/arccore/accelerator/NumArrayViews.h.

◆ NumArrayInView

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

Input view on a NumArray.

Definition at line 196 of file arccore/src/accelerator/arccore/accelerator/NumArrayViews.h.

◆ NumArrayOutView

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

Output view on a NumArray.

Definition at line 200 of file arccore/src/accelerator/arccore/accelerator/NumArrayViews.h.

◆ Reducer

template<typename DataType, typename ReduceFunctor>
using Arcane::Accelerator::Reducer = HostDeviceReducer<DataType, ReduceFunctor>

◆ ScannerMaxOperator

template<typename DataType>
using Arcane::Accelerator::ScannerMaxOperator = Impl::MaxOperator<DataType>

◆ ScannerMinOperator

template<typename DataType>
using Arcane::Accelerator::ScannerMinOperator = Impl::MinOperator<DataType>

◆ ScannerSumOperator

template<typename DataType>
using Arcane::Accelerator::ScannerSumOperator = Impl::SumOperator<DataType>

◆ VariableCellByteInView

typedef ItemVariableScalarInViewT<Cell, Byte> Arcane::Accelerator::VariableCellByteInView

Definition at line 1292 of file VariableViews.h.

◆ VariableCellByteOutView

typedef ItemVariableScalarOutViewT<Cell, DataViewSetter<Byte> > Arcane::Accelerator::VariableCellByteOutView

Definition at line 1344 of file VariableViews.h.

◆ VariableCellInt16InView

typedef ItemVariableScalarInViewT<Cell, Int16> Arcane::Accelerator::VariableCellInt16InView

Definition at line 1299 of file VariableViews.h.

◆ VariableCellInt16OutView

typedef ItemVariableScalarOutViewT<Cell, DataViewSetter<Int16> > Arcane::Accelerator::VariableCellInt16OutView

Definition at line 1351 of file VariableViews.h.

◆ VariableCellInt32InView

typedef ItemVariableScalarInViewT<Cell, Int32> Arcane::Accelerator::VariableCellInt32InView

Definition at line 1306 of file VariableViews.h.

◆ VariableCellInt32OutView

typedef ItemVariableScalarOutViewT<Cell, DataViewSetter<Int32> > Arcane::Accelerator::VariableCellInt32OutView

Definition at line 1358 of file VariableViews.h.

◆ VariableCellInt64InView

typedef ItemVariableScalarInViewT<Cell, Int64> Arcane::Accelerator::VariableCellInt64InView

Definition at line 1313 of file VariableViews.h.

◆ VariableCellInt64OutView

typedef ItemVariableScalarOutViewT<Cell, DataViewSetter<Int64> > Arcane::Accelerator::VariableCellInt64OutView

Definition at line 1365 of file VariableViews.h.

◆ VariableCellReal2InView

typedef ItemVariableScalarInViewT<Cell, Real2> Arcane::Accelerator::VariableCellReal2InView

Definition at line 1327 of file VariableViews.h.

◆ VariableCellReal2OutView

typedef ItemVariableRealNScalarOutViewT<Cell, DataViewSetter<Real2> > Arcane::Accelerator::VariableCellReal2OutView

Definition at line 1379 of file VariableViews.h.

◆ VariableCellReal3InView

typedef ItemVariableScalarInViewT<Cell, Real3> Arcane::Accelerator::VariableCellReal3InView

Definition at line 1334 of file VariableViews.h.

◆ VariableCellReal3OutView

typedef ItemVariableRealNScalarOutViewT<Cell, DataViewSetter<Real3> > Arcane::Accelerator::VariableCellReal3OutView

Definition at line 1386 of file VariableViews.h.

◆ VariableCellRealInView

typedef ItemVariableScalarInViewT<Cell, Real> Arcane::Accelerator::VariableCellRealInView

Definition at line 1320 of file VariableViews.h.

◆ VariableCellRealOutView

typedef ItemVariableScalarOutViewT<Cell, DataViewSetter<Real> > Arcane::Accelerator::VariableCellRealOutView

Definition at line 1372 of file VariableViews.h.

◆ VariableDoFByteInView

typedef ItemVariableScalarInViewT<DoF, Byte> Arcane::Accelerator::VariableDoFByteInView

Definition at line 1294 of file VariableViews.h.

◆ VariableDoFByteOutView

typedef ItemVariableScalarOutViewT<DoF, DataViewSetter<Byte> > Arcane::Accelerator::VariableDoFByteOutView

Definition at line 1346 of file VariableViews.h.

◆ VariableDoFInt16InView

typedef ItemVariableScalarInViewT<DoF, Int16> Arcane::Accelerator::VariableDoFInt16InView

Definition at line 1301 of file VariableViews.h.

◆ VariableDoFInt16OutView

typedef ItemVariableScalarOutViewT<DoF, DataViewSetter<Int16> > Arcane::Accelerator::VariableDoFInt16OutView

Definition at line 1353 of file VariableViews.h.

◆ VariableDoFInt32InView

typedef ItemVariableScalarInViewT<DoF, Int32> Arcane::Accelerator::VariableDoFInt32InView

Definition at line 1308 of file VariableViews.h.

◆ VariableDoFInt32OutView

typedef ItemVariableScalarOutViewT<DoF, DataViewSetter<Int32> > Arcane::Accelerator::VariableDoFInt32OutView

Definition at line 1360 of file VariableViews.h.

◆ VariableDoFInt64InView

typedef ItemVariableScalarInViewT<DoF, Int64> Arcane::Accelerator::VariableDoFInt64InView

Definition at line 1315 of file VariableViews.h.

◆ VariableDoFInt64OutView

typedef ItemVariableScalarOutViewT<DoF, DataViewSetter<Int64> > Arcane::Accelerator::VariableDoFInt64OutView

Definition at line 1367 of file VariableViews.h.

◆ VariableDoFReal2InView

typedef ItemVariableScalarInViewT<DoF, Real2> Arcane::Accelerator::VariableDoFReal2InView

Definition at line 1329 of file VariableViews.h.

◆ VariableDoFReal2OutView

typedef ItemVariableRealNScalarOutViewT<DoF, DataViewSetter<Real2> > Arcane::Accelerator::VariableDoFReal2OutView

Definition at line 1381 of file VariableViews.h.

◆ VariableDoFReal3InView

typedef ItemVariableScalarInViewT<DoF, Real3> Arcane::Accelerator::VariableDoFReal3InView

Definition at line 1336 of file VariableViews.h.

◆ VariableDoFReal3OutView

typedef ItemVariableRealNScalarOutViewT<DoF, DataViewSetter<Real3> > Arcane::Accelerator::VariableDoFReal3OutView

Definition at line 1388 of file VariableViews.h.

◆ VariableDoFRealInView

typedef ItemVariableScalarInViewT<DoF, Real> Arcane::Accelerator::VariableDoFRealInView

Definition at line 1322 of file VariableViews.h.

◆ VariableDoFRealOutView

typedef ItemVariableScalarOutViewT<DoF, DataViewSetter<Real> > Arcane::Accelerator::VariableDoFRealOutView

Definition at line 1374 of file VariableViews.h.

◆ VariableEdgeByteInView

typedef ItemVariableScalarInViewT<Edge, Byte> Arcane::Accelerator::VariableEdgeByteInView

Definition at line 1290 of file VariableViews.h.

◆ VariableEdgeByteOutView

typedef ItemVariableScalarOutViewT<Edge, DataViewSetter<Byte> > Arcane::Accelerator::VariableEdgeByteOutView

Definition at line 1342 of file VariableViews.h.

◆ VariableEdgeInt16InView

typedef ItemVariableScalarInViewT<Edge, Int16> Arcane::Accelerator::VariableEdgeInt16InView

Definition at line 1297 of file VariableViews.h.

◆ VariableEdgeInt16OutView

typedef ItemVariableScalarOutViewT<Edge, DataViewSetter<Int16> > Arcane::Accelerator::VariableEdgeInt16OutView

Definition at line 1349 of file VariableViews.h.

◆ VariableEdgeInt32InView

typedef ItemVariableScalarInViewT<Edge, Int32> Arcane::Accelerator::VariableEdgeInt32InView

Definition at line 1304 of file VariableViews.h.

◆ VariableEdgeInt32OutView

typedef ItemVariableScalarOutViewT<Edge, DataViewSetter<Int32> > Arcane::Accelerator::VariableEdgeInt32OutView

Definition at line 1356 of file VariableViews.h.

◆ VariableEdgeInt64InView

typedef ItemVariableScalarInViewT<Edge, Int64> Arcane::Accelerator::VariableEdgeInt64InView

Definition at line 1311 of file VariableViews.h.

◆ VariableEdgeInt64OutView

typedef ItemVariableScalarOutViewT<Edge, DataViewSetter<Int64> > Arcane::Accelerator::VariableEdgeInt64OutView

Definition at line 1363 of file VariableViews.h.

◆ VariableEdgeReal2InView

typedef ItemVariableScalarInViewT<Edge, Real2> Arcane::Accelerator::VariableEdgeReal2InView

Definition at line 1325 of file VariableViews.h.

◆ VariableEdgeReal2OutView

typedef ItemVariableRealNScalarOutViewT<Edge, DataViewSetter<Real2> > Arcane::Accelerator::VariableEdgeReal2OutView

Definition at line 1377 of file VariableViews.h.

◆ VariableEdgeReal3InView

typedef ItemVariableScalarInViewT<Edge, Real3> Arcane::Accelerator::VariableEdgeReal3InView

Definition at line 1332 of file VariableViews.h.

◆ VariableEdgeReal3OutView

typedef ItemVariableRealNScalarOutViewT<Edge, DataViewSetter<Real3> > Arcane::Accelerator::VariableEdgeReal3OutView

Definition at line 1384 of file VariableViews.h.

◆ VariableEdgeRealInView

typedef ItemVariableScalarInViewT<Edge, Real> Arcane::Accelerator::VariableEdgeRealInView

Definition at line 1318 of file VariableViews.h.

◆ VariableEdgeRealOutView

typedef ItemVariableScalarOutViewT<Edge, DataViewSetter<Real> > Arcane::Accelerator::VariableEdgeRealOutView

Definition at line 1370 of file VariableViews.h.

◆ VariableFaceByteInView

typedef ItemVariableScalarInViewT<Face, Byte> Arcane::Accelerator::VariableFaceByteInView

Definition at line 1291 of file VariableViews.h.

◆ VariableFaceByteOutView

typedef ItemVariableScalarOutViewT<Face, DataViewSetter<Byte> > Arcane::Accelerator::VariableFaceByteOutView

Definition at line 1343 of file VariableViews.h.

◆ VariableFaceInt16InView

typedef ItemVariableScalarInViewT<Face, Int16> Arcane::Accelerator::VariableFaceInt16InView

Definition at line 1298 of file VariableViews.h.

◆ VariableFaceInt16OutView

typedef ItemVariableScalarOutViewT<Face, DataViewSetter<Int16> > Arcane::Accelerator::VariableFaceInt16OutView

Definition at line 1350 of file VariableViews.h.

◆ VariableFaceInt32InView

typedef ItemVariableScalarInViewT<Face, Int32> Arcane::Accelerator::VariableFaceInt32InView

Definition at line 1305 of file VariableViews.h.

◆ VariableFaceInt32OutView

typedef ItemVariableScalarOutViewT<Face, DataViewSetter<Int32> > Arcane::Accelerator::VariableFaceInt32OutView

Definition at line 1357 of file VariableViews.h.

◆ VariableFaceInt64InView

typedef ItemVariableScalarInViewT<Face, Int64> Arcane::Accelerator::VariableFaceInt64InView

Definition at line 1312 of file VariableViews.h.

◆ VariableFaceInt64OutView

typedef ItemVariableScalarOutViewT<Face, DataViewSetter<Int64> > Arcane::Accelerator::VariableFaceInt64OutView

Definition at line 1364 of file VariableViews.h.

◆ VariableFaceReal2InView

typedef ItemVariableScalarInViewT<Face, Real2> Arcane::Accelerator::VariableFaceReal2InView

Definition at line 1326 of file VariableViews.h.

◆ VariableFaceReal2OutView

typedef ItemVariableRealNScalarOutViewT<Face, DataViewSetter<Real2> > Arcane::Accelerator::VariableFaceReal2OutView

Definition at line 1378 of file VariableViews.h.

◆ VariableFaceReal3InView

typedef ItemVariableScalarInViewT<Face, Real3> Arcane::Accelerator::VariableFaceReal3InView

Definition at line 1333 of file VariableViews.h.

◆ VariableFaceReal3OutView

typedef ItemVariableRealNScalarOutViewT<Face, DataViewSetter<Real3> > Arcane::Accelerator::VariableFaceReal3OutView

Definition at line 1385 of file VariableViews.h.

◆ VariableFaceRealInView

typedef ItemVariableScalarInViewT<Face, Real> Arcane::Accelerator::VariableFaceRealInView

Definition at line 1319 of file VariableViews.h.

◆ VariableFaceRealOutView

typedef ItemVariableScalarOutViewT<Face, DataViewSetter<Real> > Arcane::Accelerator::VariableFaceRealOutView

Definition at line 1371 of file VariableViews.h.

◆ VariableNodeByteInView

typedef ItemVariableScalarInViewT<Node, Byte> Arcane::Accelerator::VariableNodeByteInView

Definition at line 1289 of file VariableViews.h.

◆ VariableNodeByteOutView

typedef ItemVariableScalarOutViewT<Node, DataViewSetter<Byte> > Arcane::Accelerator::VariableNodeByteOutView

Definition at line 1341 of file VariableViews.h.

◆ VariableNodeInt16InView

typedef ItemVariableScalarInViewT<Node, Int16> Arcane::Accelerator::VariableNodeInt16InView

Definition at line 1296 of file VariableViews.h.

◆ VariableNodeInt16OutView

typedef ItemVariableScalarOutViewT<Node, DataViewSetter<Int16> > Arcane::Accelerator::VariableNodeInt16OutView

Definition at line 1348 of file VariableViews.h.

◆ VariableNodeInt32InView

typedef ItemVariableScalarInViewT<Node, Int32> Arcane::Accelerator::VariableNodeInt32InView

Definition at line 1303 of file VariableViews.h.

◆ VariableNodeInt32OutView

typedef ItemVariableScalarOutViewT<Node, DataViewSetter<Int32> > Arcane::Accelerator::VariableNodeInt32OutView

Definition at line 1355 of file VariableViews.h.

◆ VariableNodeInt64InView

typedef ItemVariableScalarInViewT<Node, Int64> Arcane::Accelerator::VariableNodeInt64InView

Definition at line 1310 of file VariableViews.h.

◆ VariableNodeInt64OutView

typedef ItemVariableScalarOutViewT<Node, DataViewSetter<Int64> > Arcane::Accelerator::VariableNodeInt64OutView

Definition at line 1362 of file VariableViews.h.

◆ VariableNodeReal2InView

typedef ItemVariableScalarInViewT<Node, Real2> Arcane::Accelerator::VariableNodeReal2InView

Definition at line 1324 of file VariableViews.h.

◆ VariableNodeReal2OutView

typedef ItemVariableRealNScalarOutViewT<Node, DataViewSetter<Real2> > Arcane::Accelerator::VariableNodeReal2OutView

Definition at line 1376 of file VariableViews.h.

◆ VariableNodeReal3InView

typedef ItemVariableScalarInViewT<Node, Real3> Arcane::Accelerator::VariableNodeReal3InView

Definition at line 1331 of file VariableViews.h.

◆ VariableNodeReal3OutView

typedef ItemVariableRealNScalarOutViewT<Node, DataViewSetter<Real3> > Arcane::Accelerator::VariableNodeReal3OutView

Definition at line 1383 of file VariableViews.h.

◆ VariableNodeRealInView

typedef ItemVariableScalarInViewT<Node, Real> Arcane::Accelerator::VariableNodeRealInView

Definition at line 1317 of file VariableViews.h.

◆ VariableNodeRealOutView

typedef ItemVariableScalarOutViewT<Node, DataViewSetter<Real> > Arcane::Accelerator::VariableNodeRealOutView

Definition at line 1369 of file VariableViews.h.

◆ VariableParticleByteInView

typedef ItemVariableScalarInViewT<Particle, Byte> Arcane::Accelerator::VariableParticleByteInView

Definition at line 1293 of file VariableViews.h.

◆ VariableParticleByteOutView

typedef ItemVariableScalarOutViewT<Particle, DataViewSetter<Byte> > Arcane::Accelerator::VariableParticleByteOutView

Definition at line 1345 of file VariableViews.h.

◆ VariableParticleInt16InView

typedef ItemVariableScalarInViewT<Particle, Int16> Arcane::Accelerator::VariableParticleInt16InView

Definition at line 1300 of file VariableViews.h.

◆ VariableParticleInt16OutView

typedef ItemVariableScalarOutViewT<Particle, DataViewSetter<Int16> > Arcane::Accelerator::VariableParticleInt16OutView

Definition at line 1352 of file VariableViews.h.

◆ VariableParticleInt32InView

typedef ItemVariableScalarInViewT<Particle, Int32> Arcane::Accelerator::VariableParticleInt32InView

Definition at line 1307 of file VariableViews.h.

◆ VariableParticleInt32OutView

typedef ItemVariableScalarOutViewT<Particle, DataViewSetter<Int32> > Arcane::Accelerator::VariableParticleInt32OutView

Definition at line 1359 of file VariableViews.h.

◆ VariableParticleInt64InView

typedef ItemVariableScalarInViewT<Particle, Int64> Arcane::Accelerator::VariableParticleInt64InView

Definition at line 1314 of file VariableViews.h.

◆ VariableParticleInt64OutView

typedef ItemVariableScalarOutViewT<Particle, DataViewSetter<Int64> > Arcane::Accelerator::VariableParticleInt64OutView

Definition at line 1366 of file VariableViews.h.

◆ VariableParticleReal2InView

typedef ItemVariableScalarInViewT<Particle, Real2> Arcane::Accelerator::VariableParticleReal2InView

Definition at line 1328 of file VariableViews.h.

◆ VariableParticleReal2OutView

typedef ItemVariableRealNScalarOutViewT<Particle, DataViewSetter<Real2> > Arcane::Accelerator::VariableParticleReal2OutView

Definition at line 1380 of file VariableViews.h.

◆ VariableParticleReal3InView

typedef ItemVariableScalarInViewT<Particle, Real3> Arcane::Accelerator::VariableParticleReal3InView

Definition at line 1335 of file VariableViews.h.

◆ VariableParticleReal3OutView

typedef ItemVariableRealNScalarOutViewT<Particle, DataViewSetter<Real3> > Arcane::Accelerator::VariableParticleReal3OutView

Definition at line 1387 of file VariableViews.h.

◆ VariableParticleRealInView

typedef ItemVariableScalarInViewT<Particle, Real> Arcane::Accelerator::VariableParticleRealInView

Definition at line 1321 of file VariableViews.h.

◆ VariableParticleRealOutView

typedef ItemVariableScalarOutViewT<Particle, DataViewSetter<Real> > Arcane::Accelerator::VariableParticleRealOutView

Definition at line 1373 of file VariableViews.h.

Enumeration Type Documentation

◆ eAtomicOperation

Supported atomic operation type.

Enumerator
Add 

Add.

Min 

Minimum.

Max 

Maximum.

Definition at line 63 of file arccore/src/accelerator/arccore/accelerator/AcceleratorGlobal.h.

◆ eDeviceReducePolicy

Reduction operation policy on accelerators.

Note
Starting from Arcane version 3.15, only the Grid policy is available.
Enumerator
Atomic 

Uses atomic operations between blocks.

Deprecated
This policy is no longer available. If specified, it will behave like eDeviceReducePolicy::Grid.
Grid 

Uses a compute kernel with synchronization between blocks.

Definition at line 118 of file CommonAcceleratorGlobal.h.

◆ eExecutionPolicy

Execution policy for a Runner.

Enumerator
None 

No execution policy.

Sequential 

Sequential execution policy.

Thread 

Multi-threaded execution policy.

CUDA 

Execution policy using the CUDA environment.

HIP 

Execution policy using the HIP environment.

SYCL 

Execution policy using the SYCL environment.

Definition at line 89 of file CommonAcceleratorGlobal.h.

◆ eMemoryAdvice

Memory management advice.

Enumerator
None 

No advice.

MostlyRead 

Indicates that the memory region is primarily read-only.

PreferredLocationDevice 

Prefers memory placement on the accelerator.

PreferredLocationHost 

Prefers memory placement on the host.

AccessedByDevice 

Indicates that the memory region is accessed by the device.

AccessedByHost 

Indicates that the memory region is accessed by the host.

Definition at line 34 of file arccore/src/common/arccore/common/accelerator/Memory.h.

◆ ePointerAccessibility

Accessibility information of a memory address.

Indicates whether a memory address is accessible on an accelerator or on the CPU.

See also
getPointerAccessibility()
Enumerator
Unknown 

Unknown accessibility.

No 

Not accessible.

Yes 

Accessible.

Definition at line 179 of file CommonAcceleratorGlobal.h.

◆ ePointerMemoryType

Memory type for a pointer.

Definition at line 152 of file CommonAcceleratorGlobal.h.

◆ eRunQueuePriority

enum class Arcane::Accelerator::eRunQueuePriority : int
strong

Predefined priority levels for run queues on accelerators.

Enumerator
Default 

Uses 0 as the default value.

High 

An arbitrary negative value to define a high priority.

Low 

An arbitrary positive value to define a low priority.

Definition at line 138 of file CommonAcceleratorGlobal.h.

Function Documentation

◆ arcaneInitializeRunner()

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

Initializes runner with the information from acc_info.

This function calls Accelerator::Runner::setAsCurrentDevice() after initialization.

Definition at line 48 of file arcane/src/arcane/accelerator/core/AcceleratorRuntimeInitialisationInfo.cc.

◆ arccoreCreateAcceleratorMngRef()

Ref< IAcceleratorMng > Arcane::Accelerator::arccoreCreateAcceleratorMngRef ( ITraceMng * tm)

Definition at line 108 of file AcceleratorMng.cc.

◆ doAtomic() [1/2]

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

Applies the atomic operation Operation to the view view with the value value.

Return values
theold value before addition.

Definition at line 201 of file arccore/src/accelerator/arccore/accelerator/Atomic.h.

◆ doAtomic() [2/2]

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

Applies the atomic operation Operation to the value at address ptr with the value value.

Return values
theold value before addition.

Definition at line 183 of file arccore/src/accelerator/arccore/accelerator/Atomic.h.

◆ doAtomicAdd() [1/2]

template<AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType Arcane::Accelerator::doAtomicAdd ( const DataViewGetterSetter< DataType > & view,
ValueType value )
inline

Atomically adds to the view view with the value value.

Return values
theold value before addition.

Definition at line 218 of file arccore/src/accelerator/arccore/accelerator/Atomic.h.

◆ doAtomicAdd() [2/2]

template<AcceleratorAtomicConcept DataType, typename ValueType>
requires (std::convertible_to<ValueType, DataType>)
__host__ __device__ DataType Arcane::Accelerator::doAtomicAdd ( DataType * ptr,
ValueType value )
inline

Atomically adds the value to the address ptr with the value value.

Return values
theold value before addition.

Definition at line 236 of file arccore/src/accelerator/arccore/accelerator/Atomic.h.

◆ getPointerAccessibility() [1/4]

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

Accessibility of address ptr for execution policypolicy.

If ptr_attr is not null, it will be filled with pointer information as if Runner::fillPointerAttribute() had been called.

Definition at line 289 of file AcceleratorCore.cc.

Referenced by getPointerAccessibility().

◆ getPointerAccessibility() [2/4]

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

Accessibility of address ptr for execution on runner.

If runner is null, returns ePointerAccessibility::Unknown. If ptr_attr is not null, it will be filled with pointer information as if Runner::fillPointerAttribute() had been called.

Definition at line 580 of file Runner.cc.

References Arcane::Accelerator::Runner::executionPolicy(), and Unknown.

◆ getPointerAccessibility() [3/4]

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

Accessibility of address ptr for execution on queue queue.

If queue is null, returns ePointerAccessibility::Unknown. If ptr_attr is not null, it will be filled with pointer information as if Runner::fillPointerAttribute() had been called.

Definition at line 406 of file RunQueue.cc.

References Arcane::Accelerator::RunQueue::executionPolicy(), Arcane::Accelerator::RunQueue::isNull(), and 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

Accessibility of address ptr for execution on queue_or_runner_or_policy.

Definition at line 233 of file CommonAcceleratorGlobal.h.

References getPointerAccessibility().

◆ initializeRunner()

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

Initializes runner based on the value of acc_info.

Definition at line 43 of file Accelerator.cc.

◆ isAcceleratorPolicy()

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

Indicates if exec_policy corresponds to an accelerator.

Definition at line 194 of file CommonAcceleratorGlobal.h.

References CUDA, HIP, and SYCL.

Referenced by Arcane::Accelerator::RunQueue::isAcceleratorPolicy(), and Arcane::Accelerator::WorkGroupLoopRangeBase< IsCooperativeLaunch, IndexType_ >::setBlockSize().

◆ makeAsyncQueuePool() [1/4]

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

Creates a temporary queue pool associated with runner.

The pool size is AsyncRunQueuePool::POOL_MAX_SIZE and the queues have a default priority.

This call is thread-safe if runner.isConcurrentQueueCreation()==true.

Definition at line 125 of file AsyncRunQueuePool.h.

◆ makeAsyncQueuePool() [2/4]

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

Creates a temporary queue pool associated with runner.

This call is thread-safe if runner.isConcurrentQueueCreation()==true.

Definition at line 136 of file AsyncRunQueuePool.h.

References Default.

◆ makeAsyncQueuePool() [3/4]

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

Creates a temporary queue pool associated with runner.

The pool size is AsyncRunQueuePool::POOL_MAX_SIZE and the queues have a default priority.

This call is thread-safe if runner.isConcurrentQueueCreation()==true.

Definition at line 150 of file AsyncRunQueuePool.h.

References ARCANE_CHECK_POINTER.

◆ makeAsyncQueuePool() [4/4]

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

Creates a temporary queue pool associated with runner.

This call is thread-safe if runner.isConcurrentQueueCreation()==true.

Definition at line 162 of file AsyncRunQueuePool.h.

References ARCANE_CHECK_POINTER, and Default.

◆ makeCommand() [1/2]

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

◆ makeCommand() [2/2]

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

Creates a command associated with the queue run_queue.

Definition at line 299 of file arccore/src/common/arccore/common/accelerator/RunQueue.h.

◆ makeEvent()

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

Creates an event associated with runner.

Definition at line 107 of file arccore/src/common/arccore/common/accelerator/RunQueueEvent.h.

◆ makeEventRef()

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

Creates an event associated with runner.

Definition at line 119 of file arccore/src/common/arccore/common/accelerator/RunQueueEvent.h.

◆ makeQueue() [1/4]

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

Creates a queue associated with runner.

This call is thread-safe.

Definition at line 219 of file arccore/src/common/arccore/common/accelerator/Runner.h.

Referenced by Arcane::Accelerator::RunQueuePool::initialize().

◆ makeQueue() [2/4]

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

Creates a queue associated with runner with properties bi.

This call is thread-safe.

Definition at line 248 of file arccore/src/common/arccore/common/accelerator/Runner.h.

◆ makeQueue() [3/4]

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

Creates a queue associated with runner.

This call is thread-safe.

Definition at line 233 of file arccore/src/common/arccore/common/accelerator/Runner.h.

◆ makeQueue() [4/4]

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

Creates a queue associated with runner with properties bi.

This call is thread-safe.

Definition at line 262 of file arccore/src/common/arccore/common/accelerator/Runner.h.

◆ makeQueueRef() [1/3]

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

Creates a reference to a queue with the default execution policy of runner.

If the queue is temporary, it is preferable to use makeQueue() instead to avoid unnecessary allocation.

Definition at line 279 of file arccore/src/common/arccore/common/accelerator/Runner.h.

Referenced by Arcane::Accelerator::AcceleratorMng::initialize().

◆ makeQueueRef() [2/3]

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

Creates a reference to a queue with the default execution policy of runner.

If the queue is temporary, it is preferable to use makeQueue() instead to avoid unnecessary allocation.

Definition at line 295 of file arccore/src/common/arccore/common/accelerator/Runner.h.

◆ makeQueueRef() [3/3]

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

Creates a reference to a queue with the default execution policy of runner.

If the queue is temporary, it is preferable to use makeQueue() instead to avoid unnecessary allocation.

Definition at line 311 of file arccore/src/common/arccore/common/accelerator/Runner.h.

◆ operator<<() [1/22]

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

Definition at line 559 of file RunCommandEnumerate.h.

◆ operator<<() [2/22]

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

Definition at line 571 of file RunCommandEnumerate.h.

◆ operator<<() [3/22]

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

◆ operator<<() [4/22]

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

◆ operator<<() [5/22]

auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::EnvAndGlobalCellRunCommandContainer & view )
inline

Definition at line 707 of file RunCommandMaterialEnumerate.h.

◆ operator<<() [6/22]

auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::EnvCellRunCommandContainer & view )
inline

Definition at line 718 of file RunCommandMaterialEnumerate.h.

◆ operator<<() [7/22]

template<typename LoopBoundType, typename... RemainingArgs>
auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::ExtendedArrayBoundLoop< LoopBoundType, RemainingArgs... > & ex_loop ) -> Impl::ArrayBoundRunCommand< LoopBoundType, RemainingArgs... >

◆ operator<<() [8/22]

template<typename LoopBoundType, typename... RemainingArgs>
auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::ExtendedLaunchLoop< LoopBoundType, RemainingArgs... > & ex_loop ) -> Impl::ExtendedLaunchRunCommand< LoopBoundType, RemainingArgs... >

◆ operator<<() [9/22]

template<typename TraitsType, typename... RemainingArgs>
auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::GenericConstituentCommandArgs< TraitsType, RemainingArgs... > & args )

Definition at line 683 of file RunCommandMaterialEnumerate.h.

◆ operator<<() [10/22]

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

Definition at line 564 of file RunCommandEnumerate.h.

◆ operator<<() [11/22]

auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::MatAndGlobalCellRunCommandContainer & view )
inline

Definition at line 696 of file RunCommandMaterialEnumerate.h.

◆ operator<<() [12/22]

auto Arcane::Accelerator::operator<< ( RunCommand & command,
const Impl::MatCellRunCommandContainer & view )
inline

Definition at line 729 of file RunCommandMaterialEnumerate.h.

◆ operator<<() [13/22]

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

Definition at line 530 of file RunCommandEnumerate.h.

◆ operator<<() [14/22]

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

Definition at line 551 of file RunCommandEnumerate.h.

◆ operator<<() [15/22]

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

Definition at line 542 of file RunCommandEnumerate.h.

◆ operator<<() [16/22]

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

◆ operator<<() [17/22]

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

Definition at line 161 of file RunCommand.cc.

◆ operator<<() [18/22]

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

Definition at line 189 of file AcceleratorCore.cc.

◆ operator<<() [19/22]

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

Definition at line 320 of file AcceleratorCore.cc.

◆ operator<<() [20/22]

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

Displays the name of the execution policy.

Prints the name of the execution policy.

Definition at line 160 of file AcceleratorCore.cc.

References CUDA, HIP, None, Sequential, SYCL, and Thread.

◆ operator<<() [21/22]

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

Definition at line 47 of file Memory.cc.

◆ operator<<() [22/22]

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

Prints the name of the memory type.

Definition at line 198 of file AcceleratorCore.cc.

◆ run() [1/4]

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

Applies the lambda func on the iteration range given by bounds.

Definition at line 348 of file arccore/src/accelerator/arccore/accelerator/RunCommandLoop.h.

◆ run() [2/4]

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

Applies the lambda func on the iteration range given by bounds.

Definition at line 370 of file arccore/src/accelerator/arccore/accelerator/RunCommandLoop.h.

◆ run() [3/4]

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

Definition at line 494 of file RunCommandEnumerate.h.

◆ run() [4/4]

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

Applies the lambda func on the iteration range given by bounds.

Definition at line 359 of file arccore/src/accelerator/arccore/accelerator/RunCommandLoop.h.

◆ viewIn() [1/12]

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

◆ viewIn() [2/12]

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

Read view.

Definition at line 1263 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewIn() [3/12]

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

◆ viewIn() [4/12]

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

◆ viewIn() [5/12]

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

Read view.

Definition at line 1281 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewIn() [6/12]

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

Read view.

Definition at line 1254 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewIn() [7/12]

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

◆ viewIn() [8/12]

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

Read view.

Definition at line 287 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

References viewIn().

◆ viewIn() [9/12]

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

Read view.

Definition at line 276 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewIn() [10/12]

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

Read view.

Definition at line 251 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewIn() [11/12]

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

Read view for scalar material variables.

Definition at line 250 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

◆ viewIn() [12/12]

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

Read view for scalar material variables.

Definition at line 238 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

Referenced by viewIn(), and viewIn().

◆ viewInOut() [1/16]

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

Read/write view.

Definition at line 214 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

References Arcane::Array< T >::span(), and viewInOut().

◆ viewInOut() [2/16]

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

Read/write view.

Definition at line 239 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

References viewInOut().

◆ viewInOut() [3/16]

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

Read/write view.

Definition at line 1149 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [4/16]

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

◆ viewInOut() [5/16]

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

Read/write view.

Definition at line 1169 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [6/16]

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

◆ viewInOut() [7/16]

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

◆ viewInOut() [8/16]

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

Read/write view.

Definition at line 1221 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [9/16]

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

Read/write view.

Definition at line 1159 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [10/16]

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

Read/write view.

Definition at line 1200 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [11/16]

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

Read/write view.

Definition at line 1179 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewInOut() [12/16]

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

◆ viewInOut() [13/16]

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

Read/write view.

Definition at line 226 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewInOut() [14/16]

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

Read/write view.

Definition at line 201 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewInOut() [15/16]

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

Read/write view for scalar material variables.

Definition at line 225 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

◆ viewInOut() [16/16]

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

Read/write view for scalar material variables.

Definition at line 212 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

Referenced by viewInOut(), and viewInOut().

◆ viewOut() [1/16]

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

Write view.

Definition at line 165 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

References Arcane::Array< T >::span(), and viewOut().

◆ viewOut() [2/16]

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

Write view.

Definition at line 189 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

References viewOut().

◆ viewOut() [3/16]

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

Write view.

Definition at line 1052 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewOut() [4/16]

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

◆ viewOut() [5/16]

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

◆ viewOut() [6/16]

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

◆ viewOut() [7/16]

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

◆ viewOut() [8/16]

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

Write view.

Definition at line 1125 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewOut() [9/16]

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

Write view.

Definition at line 1062 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewOut() [10/16]

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

Write view.

Definition at line 1104 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewOut() [11/16]

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

Write view.

Definition at line 1083 of file VariableViews.h.

References Arcane::VariableRef::variable().

◆ viewOut() [12/16]

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

◆ viewOut() [13/16]

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

Write view.

Definition at line 177 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewOut() [14/16]

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

Write view.

Definition at line 152 of file arccore/src/accelerator/arccore/accelerator/SpanViews.h.

◆ viewOut() [15/16]

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

Write view for scalar material variables.

Definition at line 199 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

◆ viewOut() [16/16]

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

Write view for scalar material variables.

Definition at line 186 of file MaterialVariableViews.h.

References Arcane::Materials::MeshMaterialVariableRef::materialVariable().

Referenced by viewOut(), and viewOut().