Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Accelerator::impl::RunCommandLaunchInfo
+ Graphe de collaboration de Arcane::Accelerator::impl::RunCommandLaunchInfo:

Types publics

using ThreadBlockInfo = KernelLaunchArgs
 

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.
 
KernelLaunchArgs kernelLaunchArgs () const
 Informations sur le nombre de block/thread/grille du noyau à lancer.
 
ParallelLoopOptions computeParallelLoopOptions () const
 Calcule et retourne les informations pour les boucles multi-thread.
 
const ForLoopRunInfoloopRunInfo () const
 Informations d'exécution de la boucle.
 
Int64 totalLoopSize () const
 Taille totale de la boucle.
 

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)
 
template<typename CudaKernel , typename Lambda , typename LambdaArgs , typename... RemainingArgs>
void _applyKernelCUDA (impl::RunCommandLaunchInfo &launch_info, const CudaKernel &kernel, Lambda &func, const LambdaArgs &args, const RemainingArgs &... other_args)
 Fonction générique pour exécuter un kernel CUDA.
 
template<typename HipKernel , typename Lambda , typename LambdaArgs , typename... RemainingArgs>
void _applyKernelHIP (impl::RunCommandLaunchInfo &launch_info, const HipKernel &kernel, const Lambda &func, const LambdaArgs &args, const RemainingArgs &... other_args)
 Fonction générique pour exécuter un kernel HIP.
 

Description détaillée

Définition à la ligne 35 du fichier core/RunCommandLaunchInfo.h.

Documentation des définitions de type membres

◆ ThreadBlockInfo

Documentation des constructeurs et destructeur

◆ RunCommandLaunchInfo()

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

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

◆ ~RunCommandLaunchInfo()

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

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

Documentation des fonctions membres

◆ 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 62 du fichier RunCommandLaunchInfo.cc.

Références ARCANE_FATAL.

Référencé par Arcane::Accelerator::impl::_applyConstituentCells(), Arcane::Accelerator::impl::_applyGenericLoop(), Arcane::Accelerator::impl::_applyItems(), Arcane::Accelerator::impl::GenericFilteringIf::apply(), Arcane::Accelerator::impl::GenericPartitionerIf::apply(), et Arcane::Accelerator::impl::GenericPartitionerIf::apply3().

◆ computeParallelLoopOptions()

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

Calcule et retourne les informations pour les boucles multi-thread.

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

Références Arcane::ParallelLoopOptions::grainSize(), Arcane::ParallelLoopOptions::maxThread(), et Arcane::ParallelLoopOptions::setGrainSize().

◆ 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 81 du fichier RunCommandLaunchInfo.cc.

Références ARCANE_FATAL.

Référencé par Arcane::Accelerator::impl::_applyConstituentCells(), Arcane::Accelerator::impl::_applyGenericLoop(), Arcane::Accelerator::impl::_applyItems(), Arcane::Accelerator::impl::GenericFilteringIf::apply(), Arcane::Accelerator::impl::GenericPartitionerIf::apply(), et Arcane::Accelerator::impl::GenericPartitionerIf::apply3().

◆ executionPolicy()

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

Définition à la ligne 61 du fichier core/RunCommandLaunchInfo.h.

◆ kernelLaunchArgs()

KernelLaunchArgs Arcane::Accelerator::impl::RunCommandLaunchInfo::kernelLaunchArgs ( ) const
inline

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

Cette valeur n'est valide que pour si la commande est associée à un accélérateur.

Définition à la ligne 84 du fichier core/RunCommandLaunchInfo.h.

◆ loopRunInfo()

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

Informations d'exécution de la boucle.

Ces informations ne sont valides si executionPolicy()==eExecutionPolicy::Thread et si beginExecute() a été appelé.

Définition à la ligne 95 du fichier core/RunCommandLaunchInfo.h.

Référencé par Arcane::Accelerator::impl::_applyConstituentCells(), Arcane::Accelerator::impl::_applyGenericLoop(), Arcane::Accelerator::impl::_applyItems(), et Arcane::Accelerator::impl::GenericFilteringIf::apply().

◆ totalLoopSize()

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

Taille totale de la boucle.

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

Documentation des fonctions amies et associées

◆ _applyKernelCUDA

template<typename CudaKernel , typename Lambda , typename LambdaArgs , typename... RemainingArgs>
void _applyKernelCUDA ( impl::RunCommandLaunchInfo launch_info,
const CudaKernel &  kernel,
Lambda &  func,
const LambdaArgs &  args,
const RemainingArgs &...  other_args 
)
friend

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

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

TODO: Tester si Lambda est bien une fonction, le SFINAE étant peu lisible : typename std::enable_if_t<std::is_function_v<std::decay_t<Lambda> > >* = nullptr attendons les concepts c++20 (requires)

Définition à la ligne 313 du fichier KernelLauncher.h.

◆ _applyKernelHIP

template<typename HipKernel , typename Lambda , typename LambdaArgs , typename... RemainingArgs>
void _applyKernelHIP ( impl::RunCommandLaunchInfo launch_info,
const HipKernel &  kernel,
const Lambda &  func,
const LambdaArgs &  args,
const RemainingArgs &...  other_args 
)
friend

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

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

Définition à la ligne 341 du fichier KernelLauncher.h.


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