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;
61 explicit RunCommand(
const RunQueue& run_queue);
65 RunCommand(RunCommand&& command) =
delete;
66 RunCommand(
const RunCommand&) =
delete;
67 RunCommand& operator=(
const RunCommand&) =
delete;
68 RunCommand& operator=(RunCommand&&) =
delete;
108 Int32 nbThreadPerBlock()
const;
117 friend ARCANE_ACCELERATOR_CORE_EXPORT RunCommand&
123 void _internalNotifyBeginLaunchKernel();
124 void _internalNotifyEndLaunchKernel();
125 void _internalNotifyBeginLaunchKernelSyclEvent(
void* sycl_event_ptr);
131 impl::RunQueueImpl* _internalQueueImpl()
const;
133 static impl::RunCommandImpl* _internalCreateImpl(impl::RunQueueImpl* queue);
134 static void _internalDestroyImpl(impl::RunCommandImpl* p);
138 void _allocateReduceMemory(
Int32 nb_grid);
142 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.