12#ifndef ARCANE_ACCELERATOR_CORE_RUNCOMMAND_H
13#define ARCANE_ACCELERATOR_CORE_RUNCOMMAND_H
27internalGetOrCreateReduceMemoryImpl(RunCommand* command);
40class ARCANE_ACCELERATOR_CORE_EXPORT RunCommand
44 friend impl::RunQueueImpl;
45 friend class ViewBuildInfo;
56 explicit RunCommand(
const RunQueue& run_queue);
60 RunCommand(RunCommand&& command) =
delete;
61 RunCommand(
const RunCommand&) =
delete;
62 RunCommand& operator=(
const RunCommand&) =
delete;
63 RunCommand& operator=(RunCommand&&) =
delete;
103 Int32 nbThreadPerBlock()
const;
112 friend ARCANE_ACCELERATOR_CORE_EXPORT RunCommand&
118 void _internalNotifyBeginLaunchKernel();
119 void _internalNotifyEndLaunchKernel();
120 void _internalNotifyBeginLaunchKernelSyclEvent(
void* sycl_event_ptr);
126 impl::RunQueueImpl* _internalQueueImpl()
const;
128 static impl::RunCommandImpl* _internalCreateImpl(impl::RunQueueImpl* queue);
129 static void _internalDestroyImpl(impl::RunCommandImpl* p);
133 void _allocateReduceMemory(
Int32 nb_grid);
137 impl::RunCommandImpl* m_p;
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.
Type opaque pour encapsuler une 'stream' native.
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.