Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Accelerator::impl::RunCommandImpl

Implémentation d'une commande pour accélérateur. Plus de détails...

#include <arcane/accelerator/core/internal/RunCommandImpl.h>

+ Graphe de collaboration de Arcane::Accelerator::impl::RunCommandImpl:

Fonctions membres publiques

 RunCommandImpl (RunQueueImpl *queue)
 
 RunCommandImpl (const RunCommandImpl &)=delete
 
RunCommandImploperator= (const RunCommandImpl &)=delete
 
const TraceInfotraceInfo () const
 
const StringkernelName () const
 
void notifyBeginLaunchKernel ()
 Notification du début d'exécution de la commande.
 
void notifyEndLaunchKernel ()
 Notification de la fin de lancement de la commande.
 
void notifyEndExecuteKernel ()
 Notification de la fin d'exécution du noyau.
 
impl::IReduceMemoryImplgetOrCreateReduceMemoryImpl ()
 
void releaseReduceMemoryImpl (ReduceMemoryImpl *p)
 
IRunQueueStreaminternalStream () const
 
RunnerImplrunner () const
 
void notifyLaunchKernelSyclEvent (void *sycl_event_ptr)
 Notification du lancement d'un kernel SYCL.
 

Fonctions membres publiques statiques

static RunCommandImplcreate (RunQueueImpl *r)
 

Fonctions membres privées

ReduceMemoryImpl_getOrCreateReduceMemoryImpl ()
 
void _freePools ()
 
void _reset ()
 
void _init ()
 
IRunQueueEventImpl_createEvent ()
 

Attributs privés

friend RunCommand
 
RunQueueImplm_queue
 
TraceInfo m_trace_info
 
String m_kernel_name
 
Int32 m_nb_thread_per_block = 0
 
ParallelLoopOptions m_parallel_loop_options
 
std::stack< ReduceMemoryImpl * > m_reduce_memory_pool
 
std::set< ReduceMemoryImpl * > m_active_reduce_memory_list
 Liste des réductions actives.
 
bool m_has_been_launched = false
 Indique si la commande a été lancée.
 
bool m_use_sequential_timer_event = false
 Indique si on utilise les évènements séquentiels pour calculer le temps d'exécution.
 
IRunQueueEventImplm_start_event = nullptr
 Evènements pour le début et la fin de l'exécution.
 
IRunQueueEventImplm_stop_event = nullptr
 Evènements pour la fin de l'exécution.
 
Int64 m_begin_time = 0
 Temps au lancement de la commande.
 
ForLoopOneExecStat m_loop_one_exec_stat
 
ForLoopOneExecStatm_loop_one_exec_stat_ptr = nullptr
 
const bool m_use_accelerator = false
 Indique si la commande s'exécute sur accélérateur.
 

Description détaillée

Implémentation d'une commande pour accélérateur.

Définition à la ligne 38 du fichier internal/RunCommandImpl.h.

Documentation des constructeurs et destructeur

◆ RunCommandImpl()

Arcane::Accelerator::impl::RunCommandImpl::RunCommandImpl ( RunQueueImpl queue)
explicit

Définition à la ligne 41 du fichier RunCommandImpl.cc.

◆ ~RunCommandImpl()

Arcane::Accelerator::impl::RunCommandImpl::~RunCommandImpl ( )

Définition à la ligne 52 du fichier RunCommandImpl.cc.

Documentation des fonctions membres

◆ _createEvent()

IRunQueueEventImpl * Arcane::Accelerator::impl::RunCommandImpl::_createEvent ( )
private

Définition à la ligne 75 du fichier RunCommandImpl.cc.

◆ _freePools()

void Arcane::Accelerator::impl::RunCommandImpl::_freePools ( )
private

Définition à la ligne 63 du fichier RunCommandImpl.cc.

◆ _getOrCreateReduceMemoryImpl()

ReduceMemoryImpl * Arcane::Accelerator::impl::RunCommandImpl::_getOrCreateReduceMemoryImpl ( )
private

Définition à la ligne 263 du fichier RunCommandImpl.cc.

◆ _init()

void Arcane::Accelerator::impl::RunCommandImpl::_init ( )
private

Définition à la ligne 86 du fichier RunCommandImpl.cc.

◆ _reset()

void Arcane::Accelerator::impl::RunCommandImpl::_reset ( )
private

Définition à la ligne 203 du fichier RunCommandImpl.cc.

◆ create()

RunCommandImpl * Arcane::Accelerator::impl::RunCommandImpl::create ( RunQueueImpl r)
static

Définition à la ligne 107 du fichier RunCommandImpl.cc.

◆ getOrCreateReduceMemoryImpl()

IReduceMemoryImpl * Arcane::Accelerator::impl::RunCommandImpl::getOrCreateReduceMemoryImpl ( )

Définition à la ligne 219 du fichier RunCommandImpl.cc.

◆ internalStream()

IRunQueueStream * Arcane::Accelerator::impl::RunCommandImpl::internalStream ( ) const

Définition à la ligne 245 du fichier RunCommandImpl.cc.

◆ kernelName()

const String & Arcane::Accelerator::impl::RunCommandImpl::kernelName ( ) const
inline

Définition à la ligne 56 du fichier internal/RunCommandImpl.h.

◆ notifyBeginLaunchKernel()

void Arcane::Accelerator::impl::RunCommandImpl::notifyBeginLaunchKernel ( )

Notification du début d'exécution de la commande.

Définition à la ligne 118 du fichier RunCommandImpl.cc.

Références Arcane::Accelerator::impl::IRunQueueStream::notifyBeginLaunchKernel().

◆ notifyEndExecuteKernel()

void Arcane::Accelerator::impl::RunCommandImpl::notifyEndExecuteKernel ( )

Notification de la fin d'exécution du noyau.

Après cet appel, on est sur que la commande a fini de s'exécuter et on peut la recycler. En asynchrone, cette méthode est appelée lors de la synchronisation d'une file.

Définition à la ligne 178 du fichier RunCommandImpl.cc.

◆ notifyEndLaunchKernel()

void Arcane::Accelerator::impl::RunCommandImpl::notifyEndLaunchKernel ( )

Notification de la fin de lancement de la commande.

La commande continue à s'exécuter en tâche de fond.

Définition à la ligne 140 du fichier RunCommandImpl.cc.

Références Arcane::Accelerator::impl::IRunQueueStream::notifyEndLaunchKernel().

◆ notifyLaunchKernelSyclEvent()

void Arcane::Accelerator::impl::RunCommandImpl::notifyLaunchKernelSyclEvent ( void sycl_event_ptr)

Notification du lancement d'un kernel SYCL.

sycl_event_ptr est de type sycl::event* et contient l'évènement associé à la commande qui est retourné lors des appels à sycl::queue::submit().

Définition à la ligne 158 du fichier RunCommandImpl.cc.

Références Arcane::Accelerator::impl::IRunQueueStream::_setSyclLastCommandEvent().

◆ releaseReduceMemoryImpl()

void Arcane::Accelerator::impl::RunCommandImpl::releaseReduceMemoryImpl ( ReduceMemoryImpl p)

Définition à la ligne 232 du fichier RunCommandImpl.cc.

◆ runner()

RunnerImpl * Arcane::Accelerator::impl::RunCommandImpl::runner ( ) const

Définition à la ligne 254 du fichier RunCommandImpl.cc.

◆ traceInfo()

const TraceInfo & Arcane::Accelerator::impl::RunCommandImpl::traceInfo ( ) const
inline

Définition à la ligne 55 du fichier internal/RunCommandImpl.h.

Documentation des données membres

◆ m_active_reduce_memory_list

std::set<ReduceMemoryImpl*> Arcane::Accelerator::impl::RunCommandImpl::m_active_reduce_memory_list
private

Liste des réductions actives.

Définition à la ligne 92 du fichier internal/RunCommandImpl.h.

◆ m_begin_time

Int64 Arcane::Accelerator::impl::RunCommandImpl::m_begin_time = 0
private

Temps au lancement de la commande.

Définition à la ligne 105 du fichier internal/RunCommandImpl.h.

◆ m_has_been_launched

bool Arcane::Accelerator::impl::RunCommandImpl::m_has_been_launched = false
private

Indique si la commande a été lancée.

Définition à la ligne 95 du fichier internal/RunCommandImpl.h.

◆ m_kernel_name

String Arcane::Accelerator::impl::RunCommandImpl::m_kernel_name
private

Définition à la ligne 81 du fichier internal/RunCommandImpl.h.

◆ m_loop_one_exec_stat

ForLoopOneExecStat Arcane::Accelerator::impl::RunCommandImpl::m_loop_one_exec_stat
private

Définition à la ligne 107 du fichier internal/RunCommandImpl.h.

◆ m_loop_one_exec_stat_ptr

ForLoopOneExecStat* Arcane::Accelerator::impl::RunCommandImpl::m_loop_one_exec_stat_ptr = nullptr
private

Définition à la ligne 108 du fichier internal/RunCommandImpl.h.

◆ m_nb_thread_per_block

Int32 Arcane::Accelerator::impl::RunCommandImpl::m_nb_thread_per_block = 0
private

Définition à la ligne 82 du fichier internal/RunCommandImpl.h.

◆ m_parallel_loop_options

ParallelLoopOptions Arcane::Accelerator::impl::RunCommandImpl::m_parallel_loop_options
private

Définition à la ligne 83 du fichier internal/RunCommandImpl.h.

◆ m_queue

RunQueueImpl* Arcane::Accelerator::impl::RunCommandImpl::m_queue
private

Définition à la ligne 79 du fichier internal/RunCommandImpl.h.

◆ m_reduce_memory_pool

std::stack<ReduceMemoryImpl*> Arcane::Accelerator::impl::RunCommandImpl::m_reduce_memory_pool
private

Définition à la ligne 89 du fichier internal/RunCommandImpl.h.

◆ m_start_event

IRunQueueEventImpl* Arcane::Accelerator::impl::RunCommandImpl::m_start_event = nullptr
private

Evènements pour le début et la fin de l'exécution.

Définition à la ligne 100 du fichier internal/RunCommandImpl.h.

◆ m_stop_event

IRunQueueEventImpl* Arcane::Accelerator::impl::RunCommandImpl::m_stop_event = nullptr
private

Evènements pour la fin de l'exécution.

Définition à la ligne 102 du fichier internal/RunCommandImpl.h.

◆ m_trace_info

TraceInfo Arcane::Accelerator::impl::RunCommandImpl::m_trace_info
private

Définition à la ligne 80 du fichier internal/RunCommandImpl.h.

◆ m_use_accelerator

const bool Arcane::Accelerator::impl::RunCommandImpl::m_use_accelerator = false
private

Indique si la commande s'exécute sur accélérateur.

Définition à la ligne 111 du fichier internal/RunCommandImpl.h.

◆ m_use_sequential_timer_event

bool Arcane::Accelerator::impl::RunCommandImpl::m_use_sequential_timer_event = false
private

Indique si on utilise les évènements séquentiels pour calculer le temps d'exécution.

Définition à la ligne 98 du fichier internal/RunCommandImpl.h.

◆ RunCommand

friend Arcane::Accelerator::impl::RunCommandImpl::RunCommand
private

Définition à la ligne 40 du fichier internal/RunCommandImpl.h.


La documentation de cette classe a été générée à partir des fichiers suivants :