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

Object temporaire pour conserver les informations d'exécution d'une commande et regrouper les tests. Plus de détails...

#include <arcane/accelerator/RunCommandLaunchInfo.h>

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

Classes

struct  ThreadBlockInfo
 

Fonctions membres publiques

 RunCommandLaunchInfo (RunCommand &command, Int64 total_loop_size)
 
 RunCommandLaunchInfo (const RunCommandLaunchInfo &)=delete
 
RunCommandLaunchInfo operator= (const RunCommandLaunchInfo &)=delete
 
eExecutionPolicy executionPolicy () const
 
void beginExecute ()
 Indique qu'on commence l'exécution de la commande.
 
void endExecute ()
 Signale la fin de l'exécution.
 
ThreadBlockInfo threadBlockInfo () const
 Informations sur le nombre de block/thread/grille du noyau à lancer.
 
ParallelLoopOptions computeParallelLoopOptions () const
 Calcul les informations pour les boucles multi-thread.
 
void computeLoopRunInfo ()
 Calcule la valeur de loopRunInfo()
 
const ForLoopRunInfoloopRunInfo () const
 Informations d'exécution de la boucle.
 
Int64 totalLoopSize () const
 Taille totale de la boucle.
 
void_internalStreamImpl ()
 

Fonctions membres privées

void _begin ()
 
void _doEndKernelLaunch ()
 
ThreadBlockInfo _computeThreadBlockInfo () const
 Calcule le nombre de block/thread/grille du noyau en fonction de full_size.
 
void _addSyclEvent (void *sycl_event_ptr)
 

Attributs privés

RunCommandm_command
 
bool m_has_exec_begun = false
 
bool m_is_notify_end_kernel_done = false
 
IRunnerRuntimem_runtime = nullptr
 
IRunQueueStreamm_queue_stream = nullptr
 
eExecutionPolicy m_exec_policy = eExecutionPolicy::Sequential
 
ThreadBlockInfo m_thread_block_info
 
ForLoopRunInfo m_loop_run_info
 
Int64 m_total_loop_size = 0
 

Amis

template<typename SyclKernel , typename Lambda , typename LambdaArgs , typename... ReducerArgs>
void _applyKernelSYCL (impl::RunCommandLaunchInfo &launch_info, SyclKernel kernel, Lambda &func, const LambdaArgs &args, const ReducerArgs &... reducer_args)
 Fonction générique pour exécuter un kernel SYCL.
 

Description détaillée

Object temporaire pour conserver les informations d'exécution d'une commande et regrouper les tests.

Définition à la ligne 36 du fichier RunCommandLaunchInfo.h.

Documentation des constructeurs et destructeur

◆ RunCommandLaunchInfo()

Arcane::Accelerator::impl::RunCommandLaunchInfo::RunCommandLaunchInfo ( RunCommand command,
Int64  total_loop_size 
)

Définition à la ligne 31 du fichier RunCommandLaunchInfo.cc.

◆ ~RunCommandLaunchInfo()

Arcane::Accelerator::impl::RunCommandLaunchInfo::~RunCommandLaunchInfo ( )

Définition à la ligne 43 du fichier RunCommandLaunchInfo.cc.

Documentation des fonctions membres

◆ _addSyclEvent()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::_addSyclEvent ( void sycl_event_ptr)
private

Définition à la ligne 170 du fichier RunCommandLaunchInfo.cc.

◆ _begin()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::_begin ( )
private

Définition à la ligne 54 du fichier RunCommandLaunchInfo.cc.

◆ _computeThreadBlockInfo()

auto Arcane::Accelerator::impl::RunCommandLaunchInfo::_computeThreadBlockInfo ( ) const
private

Calcule le nombre de block/thread/grille du noyau en fonction de full_size.

Définition à la ligne 121 du fichier RunCommandLaunchInfo.cc.

◆ _doEndKernelLaunch()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::_doEndKernelLaunch ( )
private

Définition à la ligne 95 du fichier RunCommandLaunchInfo.cc.

◆ _internalStreamImpl()

void * Arcane::Accelerator::impl::RunCommandLaunchInfo::_internalStreamImpl ( )

Définition à la ligne 111 du fichier RunCommandLaunchInfo.cc.

◆ beginExecute()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::beginExecute ( )

Indique qu'on commence l'exécution de la commande.

Doit toujours être appelé avant de lancer la commande pour être sur que cette méthode est appelée en cas d'exception.

Définition à la ligne 67 du fichier RunCommandLaunchInfo.cc.

Références ARCANE_FATAL.

◆ computeLoopRunInfo()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::computeLoopRunInfo ( )

Calcule la valeur de loopRunInfo()

Définition à la ligne 157 du fichier RunCommandLaunchInfo.cc.

Références ARCANE_FATAL.

◆ computeParallelLoopOptions()

ParallelLoopOptions Arcane::Accelerator::impl::RunCommandLaunchInfo::computeParallelLoopOptions ( ) const

Calcul les informations pour les boucles multi-thread.

Définition à la ligne 135 du fichier RunCommandLaunchInfo.cc.

◆ endExecute()

void Arcane::Accelerator::impl::RunCommandLaunchInfo::endExecute ( )

Signale la fin de l'exécution.

Notifie de la fin de lancement de la commande.

Si la file associée à la commande est asynchrone, la commande peut continuer à s'exécuter après cet appel.

A noter que si la commande est asynchrone, son exécution peut continuer après l'appel à cette méthode.

Définition à la ligne 84 du fichier RunCommandLaunchInfo.cc.

Références ARCANE_FATAL.

◆ executionPolicy()

eExecutionPolicy Arcane::Accelerator::impl::RunCommandLaunchInfo::executionPolicy ( ) const
inline

Définition à la ligne 59 du fichier RunCommandLaunchInfo.h.

◆ loopRunInfo()

const ForLoopRunInfo & Arcane::Accelerator::impl::RunCommandLaunchInfo::loopRunInfo ( ) const
inline

Informations d'exécution de la boucle.

Définition à la ligne 87 du fichier RunCommandLaunchInfo.h.

◆ threadBlockInfo()

ThreadBlockInfo Arcane::Accelerator::impl::RunCommandLaunchInfo::threadBlockInfo ( ) const
inline

Informations sur le nombre de block/thread/grille du noyau à lancer.

Définition à la ligne 78 du fichier RunCommandLaunchInfo.h.

◆ totalLoopSize()

Int64 Arcane::Accelerator::impl::RunCommandLaunchInfo::totalLoopSize ( ) const
inline

Taille totale de la boucle.

Définition à la ligne 90 du fichier RunCommandLaunchInfo.h.

Documentation des fonctions amies et associées

◆ _applyKernelSYCL

template<typename SyclKernel , typename Lambda , typename LambdaArgs , typename... ReducerArgs>
void _applyKernelSYCL ( impl::RunCommandLaunchInfo launch_info,
SyclKernel  kernel,
Lambda func,
const LambdaArgs args,
const ReducerArgs &...  reducer_args 
)
friend

Fonction générique pour exécuter un kernel SYCL.

Paramètres
kernelnoyau SYCL
funcfonction à exécuter par le noyau
argsarguments de la fonction lambda

Définition à la ligne 373 du fichier RunQueueInternal.h.

Documentation des données membres

◆ m_command

RunCommand& Arcane::Accelerator::impl::RunCommandLaunchInfo::m_command
private

Définition à la ligne 98 du fichier RunCommandLaunchInfo.h.

◆ m_exec_policy

eExecutionPolicy Arcane::Accelerator::impl::RunCommandLaunchInfo::m_exec_policy = eExecutionPolicy::Sequential
private

Définition à la ligne 103 du fichier RunCommandLaunchInfo.h.

◆ m_has_exec_begun

bool Arcane::Accelerator::impl::RunCommandLaunchInfo::m_has_exec_begun = false
private

Définition à la ligne 99 du fichier RunCommandLaunchInfo.h.

◆ m_is_notify_end_kernel_done

bool Arcane::Accelerator::impl::RunCommandLaunchInfo::m_is_notify_end_kernel_done = false
private

Définition à la ligne 100 du fichier RunCommandLaunchInfo.h.

◆ m_loop_run_info

ForLoopRunInfo Arcane::Accelerator::impl::RunCommandLaunchInfo::m_loop_run_info
private

Définition à la ligne 105 du fichier RunCommandLaunchInfo.h.

◆ m_queue_stream

IRunQueueStream* Arcane::Accelerator::impl::RunCommandLaunchInfo::m_queue_stream = nullptr
private

Définition à la ligne 102 du fichier RunCommandLaunchInfo.h.

◆ m_runtime

IRunnerRuntime* Arcane::Accelerator::impl::RunCommandLaunchInfo::m_runtime = nullptr
private

Définition à la ligne 101 du fichier RunCommandLaunchInfo.h.

◆ m_thread_block_info

ThreadBlockInfo Arcane::Accelerator::impl::RunCommandLaunchInfo::m_thread_block_info
private

Définition à la ligne 104 du fichier RunCommandLaunchInfo.h.

◆ m_total_loop_size

Int64 Arcane::Accelerator::impl::RunCommandLaunchInfo::m_total_loop_size = 0
private

Définition à la ligne 106 du fichier RunCommandLaunchInfo.h.


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