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 ForLoopRunInfo & | loopRunInfo () 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. | |
Définition à la ligne 35 du fichier core/RunCommandLaunchInfo.h.
Définition à la ligne 50 du fichier core/RunCommandLaunchInfo.h.
| Arcane::Accelerator::impl::RunCommandLaunchInfo::RunCommandLaunchInfo | ( | RunCommand & | command, |
| Int64 | total_loop_size ) |
Définition à la ligne 34 du fichier RunCommandLaunchInfo.cc.
| Arcane::Accelerator::impl::RunCommandLaunchInfo::~RunCommandLaunchInfo | ( | ) |
Définition à la ligne 52 du fichier RunCommandLaunchInfo.cc.
| 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 63 du fichier RunCommandLaunchInfo.cc.
Références ARCANE_FATAL, et Arcane::Accelerator::Thread.
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().
| ParallelLoopOptions Arcane::Accelerator::impl::RunCommandLaunchInfo::computeParallelLoopOptions | ( | ) | const |
Calcule et retourne les informations pour les boucles multi-thread.
Définition à la ligne 134 du fichier RunCommandLaunchInfo.cc.
Références Arcane::ParallelLoopOptions::grainSize(), Arcane::ConcurrencyBase::maxAllowedThread(), Arcane::ParallelLoopOptions::maxThread(), et Arcane::ParallelLoopOptions::setGrainSize().
| 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 82 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().
|
inline |
Définition à la ligne 61 du fichier core/RunCommandLaunchInfo.h.
|
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.
|
inline |
Informations d'exécution de la boucle.
Ces informations ne sont valides que 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().
|
inline |
Taille totale de la boucle.
Définition à la ligne 98 du fichier core/RunCommandLaunchInfo.h.
|
friend |
Fonction générique pour exécuter un kernel CUDA.
| kernel | noyau CUDA |
| func | fonction à exécuter par le noyau |
| args | arguments 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.
Références _applyKernelCUDA.
Référencé par _applyKernelCUDA.
|
friend |
Fonction générique pour exécuter un kernel HIP.
| kernel | noyau HIP |
| func | fonction à exécuter par le noyau |
| args | arguments de la fonction lambda |
Définition à la ligne 341 du fichier KernelLauncher.h.
Références _applyKernelHIP.
Référencé par _applyKernelHIP.