14#include "arcane/accelerator/core/RunCommand.h"
16#include "arcane/accelerator/core/RunQueue.h"
17#include "arcane/accelerator/core/NativeStream.h"
18#include "arcane/accelerator/core/internal/RunQueueImpl.h"
19#include "arcane/accelerator/core/internal/ReduceMemoryImpl.h"
20#include "arcane/accelerator/core/internal/RunCommandImpl.h"
21#include "arcane/accelerator/core/internal/IRunQueueStream.h"
33RunCommand(
const RunQueue& run_queue)
34: m_p(run_queue._getCommandImpl())
36 m_p->m_has_living_run_command =
true;
45 m_p->m_has_living_run_command =
false;
46 m_p->_notifyDestroyRunCommand();
58 return m_p->traceInfo();
67 return m_p->kernelName();
74nbThreadPerBlock()
const
76 return m_p->m_nb_thread_per_block;
85 m_p->m_trace_info =
ti;
93addKernelName(
const String& v)
95 m_p->m_kernel_name = v;
103addNbThreadPerBlock(Int32 v)
109 m_p->m_nb_thread_per_block = v;
119 m_p->m_parallel_loop_options =
opt;
126parallelLoopOptions()
const
128 return m_p->m_parallel_loop_options;
134extern "C++" ARCANE_ACCELERATOR_CORE_EXPORT
145_internalNativeStream()
const
147 return m_p->internalStream()->nativeStream();
154_internalQueueImpl()
const
172_internalDestroyImpl(impl::RunCommandImpl*
p)
181_allocateReduceMemory(
Int32 nb_grid)
183 auto& mem_list = m_p->m_active_reduce_memory_list;
184 if (!mem_list.empty()) {
185 for (
auto& x : mem_list)
186 x->setGridSizeAndAllocate(nb_grid);
194_internalNotifyBeginLaunchKernel()
196 m_p->notifyBeginLaunchKernel();
203_internalNotifyEndLaunchKernel()
205 m_p->notifyEndLaunchKernel();
212_internalNotifyBeginLaunchKernelSyclEvent(
void* sycl_event_ptr)
214 m_p->notifyLaunchKernelSyclEvent(sycl_event_ptr);
220ForLoopOneExecStat* RunCommand::
221_internalCommandExecStat()
223 return m_p->m_loop_one_exec_stat_ptr;
Gestion d'une commande sur accélérateur.
RunCommand & addTraceInfo(const TraceInfo &ti)
Positionne le informations de trace.
Type opaque pour encapsuler une 'stream' native.
Implémentation d'une commande pour accélérateur.
File d'exécution pour accélérateur.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
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.