12#ifndef ARCANE_ACCELERATOR_CORE_RUNCOMMAND_H
13#define ARCANE_ACCELERATOR_CORE_RUNCOMMAND_H
27internalGetOrCreateReduceMemoryImpl(RunCommand* command);
45class ARCANE_ACCELERATOR_CORE_EXPORT RunCommand
49 friend impl::RunQueueImpl;
50 friend class ViewBuildInfo;
51 template<
typename T, Int32 Extent>
friend class LocalMemory;
62 explicit RunCommand(
const RunQueue& run_queue);
66 RunCommand(RunCommand&& command) =
delete;
67 RunCommand(
const RunCommand&) =
delete;
68 RunCommand& operator=(
const RunCommand&) =
delete;
69 RunCommand& operator=(RunCommand&&) =
delete;
109 Int32 nbThreadPerBlock()
const;
118 friend ARCANE_ACCELERATOR_CORE_EXPORT RunCommand&
124 void _internalNotifyBeginLaunchKernel();
125 void _internalNotifyEndLaunchKernel();
126 void _internalNotifyBeginLaunchKernelSyclEvent(
void* sycl_event_ptr);
132 impl::RunQueueImpl* _internalQueueImpl()
const;
134 static impl::RunCommandImpl* _internalCreateImpl(impl::RunQueueImpl* queue);
135 static void _internalDestroyImpl(impl::RunCommandImpl* p);
137 Int32 _sharedMemory()
const;
141 void _allocateReduceMemory(
Int32 nb_grid);
145 impl::RunCommandImpl* m_p;
Type opaque pour encapsuler une 'stream' native.
const ParallelLoopOptions & parallelLoopOptions() const
Configuration des boucles multi-thread.
friend RunCommand makeCommand(const RunQueue &run_queue)
Créé une commande associée à la file run_queue.
void setParallelLoopOptions(const ParallelLoopOptions &opt)
Positionne la configuration des boucles multi-thread.
friend RunCommand & operator<<(RunCommand &command, const TraceInfo &trace_info)
Affichage des informations de la commande.
RunCommand & addNbThreadPerBlock(Int32 v)
Positionne le nombre de thread par bloc pour les accélérateurs.
RunCommand & addKernelName(const String &v)
Positionne le nom du noyau.
RunCommand & addTraceInfo(const TraceInfo &ti)
Positionne le informations de trace.
const TraceInfo & traceInfo() const
Informations pour les traces.
const String & kernelName() const
Nom du noyau.
File d'exécution pour un accélérateur.
Classe pour gérer le profiling d'une seule exécution d'une boucle.
Options d'exécution d'une boucle parallèle en multi-thread.
Chaîne de caractères unicode.
Espace de nom pour l'utilisation des accélérateurs.
std::int32_t Int32
Type entier signé sur 32 bits.