12#ifndef ARCANE_ACCELERATOR_CORE_INTERNAL_RUNCOMMANDIMPL_H
13#define ARCANE_ACCELERATOR_CORE_INTERNAL_RUNCOMMANDIMPL_H
17#include "arcane/utils/TraceInfo.h"
18#include "arcane/utils/ParallelLoopOptions.h"
19#include "arcane/utils/Profiling.h"
29namespace Arcane::Accelerator::impl
55 const TraceInfo& traceInfo()
const {
return m_trace_info; }
56 const String& kernelName()
const {
return m_kernel_name; }
82 Int32 m_nb_thread_per_block = 0;
89 std::stack<ReduceMemoryImpl*> m_reduce_memory_pool;
Gestion d'une commande sur accélérateur.
Interface de la gestion mémoire pour les réductions.
Interface de l'implémentation d'un évènement.
Interface d'un flux d'exécution pour une RunQueue.
Implémentation d'une commande pour accélérateur.
void notifyEndLaunchKernel()
Notification de la fin de lancement de la commande.
bool m_use_sequential_timer_event
Indique si on utilise les évènements séquentiels pour calculer le temps d'exécution.
void notifyLaunchKernelSyclEvent(void *sycl_event_ptr)
Notification du lancement d'un kernel SYCL.
IRunQueueEventImpl * m_stop_event
Evènements pour la fin de l'exécution.
bool m_has_been_launched
Indique si la commande a été lancée.
IRunQueueEventImpl * m_start_event
Evènements pour le début et la fin de l'exécution.
void notifyBeginLaunchKernel()
Notification du début d'exécution de la commande.
Int64 m_begin_time
Temps au lancement de la commande.
std::set< ReduceMemoryImpl * > m_active_reduce_memory_list
Liste des réductions actives.
void notifyEndExecuteKernel()
Notification de la fin d'exécution du noyau.
const bool m_use_accelerator
Indique si la commande s'exécute sur accélérateur.
File d'exécution pour accélérateur.
Classe pour gérer le profiling d'une seule exécution d'une boucle.
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.
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.