14#include "arccore/common/accelerator/RunCommand.h"
16#include "arccore/common/ArraySimdPadder.h"
18#include "arccore/common/accelerator/RunQueue.h"
19#include "arccore/common/accelerator/NativeStream.h"
20#include "arccore/common/accelerator/internal/RunQueueImpl.h"
21#include "arccore/common/accelerator/internal/ReduceMemoryImpl.h"
22#include "arccore/common/accelerator/internal/RunCommandImpl.h"
23#include "arccore/common/accelerator/internal/IRunQueueStream.h"
36: m_p(run_queue._getCommandImpl())
38 m_p->m_has_living_run_command =
true;
47 m_p->m_has_living_run_command =
false;
48 m_p->_notifyDestroyRunCommand();
60 return m_p->traceInfo();
69 return m_p->kernelName();
76nbThreadPerBlock()
const
78 return m_p->m_nb_thread_per_block;
84RunCommand& RunCommand::
87 m_p->m_trace_info = ti;
94RunCommand& RunCommand::
95addKernelName(
const String& v)
97 m_p->m_kernel_name = v;
104RunCommand& RunCommand::
105addNbThreadPerBlock(
Int32 v)
111 m_p->m_nb_thread_per_block = v;
121 m_p->m_parallel_loop_options = opt;
128parallelLoopOptions()
const
130 return m_p->m_parallel_loop_options;
136extern "C++" ARCCORE_COMMON_EXPORT
147_internalNativeStream()
const
149 return m_p->internalStream()->nativeStream();
156_internalQueueImpl()
const
174_internalDestroyImpl(impl::RunCommandImpl* p)
183_allocateReduceMemory(Int32 nb_grid)
185 auto& mem_list = m_p->m_active_reduce_memory_list;
186 if (!mem_list.empty()) {
187 for (
auto& x : mem_list)
188 x->setGridSizeAndAllocate(nb_grid);
196_internalNotifyBeginLaunchKernel()
198 m_p->notifyBeginLaunchKernel();
205_internalNotifyEndLaunchKernel()
207 m_p->notifyEndLaunchKernel();
214_internalNotifyBeginLaunchKernelSyclEvent(
void* sycl_event_ptr)
216 m_p->notifyLaunchKernelSyclEvent(sycl_event_ptr);
222ForLoopOneExecStat* RunCommand::
223_internalCommandExecStat()
225 return m_p->m_loop_one_exec_stat_ptr;
232_addSharedMemory(Int32 size)
234 Int32 current_size = m_p->m_shared_memory_size;
235 m_p->m_shared_memory_size += ArraySimdPadder::getSizeWithSpecificPadding<16>(size);
245 return m_p->m_shared_memory_size;
Type opaque pour encapsuler une 'stream' native.
friend ARCCORE_COMMON_EXPORT RunCommand & operator<<(RunCommand &command, const TraceInfo &trace_info)
Affichage des informations de la commande.
RunCommand & addTraceInfo(const TraceInfo &ti)
Positionne le informations de trace.
File d'exécution pour un accélérateur.
Implémentation d'une commande pour accélérateur.
File d'exécution pour accélérateur.
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.