Gestion d'une commande sur accélérateur. Plus de détails...
#include <arccore/common/accelerator/RunCommand.h>
Fonctions membres publiques | |
| RunCommand (RunCommand &&command)=delete | |
| RunCommand (const RunCommand &)=delete | |
| RunCommand & | operator= (const RunCommand &)=delete |
| RunCommand & | operator= (RunCommand &&)=delete |
| eExecutionPolicy | executionPolicy () const |
| Politique d'exécution de la commande. | |
| RunCommand & | addTraceInfo (const TraceInfo &ti) |
| Positionne le informations de trace. | |
| RunCommand & | addKernelName (const String &v) |
| Positionne le nom du noyau. | |
| RunCommand & | addNbThreadPerBlock (Int32 v) |
| Positionne le nombre de thread par bloc pour les accélérateurs. | |
| RunCommand & | addNbStride (Int32 v) |
| Positionne le nombre de pas pour la décomposition de la boucle sur accélérateur/. | |
| Int32 | nbStride () const |
| Nombre de pas de décomposition de la boucle. | |
| const TraceInfo & | traceInfo () const |
| Informations pour les traces. | |
| const String & | kernelName () const |
| Nom du noyau. | |
| Int32 | nbThreadPerBlock () const |
| void | setParallelLoopOptions (const ParallelLoopOptions &opt) |
| Positionne la configuration des boucles multi-thread. | |
| const ParallelLoopOptions & | parallelLoopOptions () const |
| Configuration des boucles multi-thread. | |
Fonctions membres protégées | |
| RunCommand (const RunQueue &run_queue) | |
Amis | |
| class | ViewBuildInfo |
| template<typename T, Int32 Extent> | |
| class | LocalMemory |
| Impl::IReduceMemoryImpl * | Impl::internalGetOrCreateReduceMemoryImpl (RunCommand *command) |
| RunCommand | makeCommand (const RunQueue &run_queue) |
| Créé une commande associée à la file run_queue. | |
| RunCommand | makeCommand (const RunQueue *run_queue) |
| Créé une commande associée à la file run_queue. | |
| RunCommand & | operator<< (RunCommand &command, const TraceInfo &trace_info) |
| Affichage des informations de la commande. | |
Gestion d'une commande sur accélérateur.
Une commande est associée à une file d'exécution (RunQueue) et sa durée de vie ne doit pas excéder celle de cette dernière.
Une commande est une opération qui sera exécutée sur l'accélérateur associé à l'instance de RunQueue utilisé lors de l'appel à makeCommand(). Sur un GPU, cela correspond à un noyau (kernel).
Pour plus d'informations, se reporter à la rubrique Noyaux de calcul (RunCommand).
Définition à la ligne 45 du fichier arccore/src/common/arccore/common/accelerator/RunCommand.h.
| Arcane::Accelerator::RunCommand::~RunCommand | ( | ) |
Définition à la ligne 44 du fichier RunCommand.cc.
|
explicitprotected |
Définition à la ligne 34 du fichier RunCommand.cc.
| RunCommand & Arcane::Accelerator::RunCommand::addKernelName | ( | const String & | v | ) |
Positionne le nom du noyau.
Ce nom est utilisé pour les traces ou pour le débug.
Définition à la ligne 104 du fichier RunCommand.cc.
| RunCommand & Arcane::Accelerator::RunCommand::addNbStride | ( | Int32 | v | ) |
Positionne le nombre de pas pour la décomposition de la boucle sur accélérateur/.
La valeur par défaut est 1, ce qui indique qu'on ne décompose pas la boucle. Cette méthode ne fait rien si la commande ne s'exécute pas sur accélérateur. Cette valeur n'est utilisée que pour les boucles classiques (RUNCOMMAND_LOOP()) ou sur les entités (RUNCOMMAND_ENUMERATE()).
Définition à la ligne 128 du fichier RunCommand.cc.
| RunCommand & Arcane::Accelerator::RunCommand::addNbThreadPerBlock | ( | Int32 | v | ) |
Positionne le nombre de thread par bloc pour les accélérateurs.
Si la valeur v est nulle, le choix par défaut est utilisé. Si la valeur v est positive, sa valeur minimale valide dépend de l'accélérateur. En général c'est au moins 32.
Définition à la ligne 114 du fichier RunCommand.cc.
| RunCommand & Arcane::Accelerator::RunCommand::addTraceInfo | ( | const TraceInfo & | ti | ) |
Positionne le informations de trace.
Ces informations sont utilisées pour les traces ou pour le débug. Les macros RUNCOMMAND_LOOP ou RUNCOMMAND_ENUMERATE appellent automatiquement cette méthode.
Définition à la ligne 94 du fichier RunCommand.cc.
Référencé par operator<<.
| eExecutionPolicy Arcane::Accelerator::RunCommand::executionPolicy | ( | ) | const |
Politique d'exécution de la commande.
Définition à la ligne 58 du fichier RunCommand.cc.
Référencé par Arcane::Accelerator::WorkGroupLoopRangeBase< IndexType_ >::setBlockSize().
| const String & Arcane::Accelerator::RunCommand::kernelName | ( | ) | const |
Nom du noyau.
Définition à la ligne 76 du fichier RunCommand.cc.
| Int32 Arcane::Accelerator::RunCommand::nbStride | ( | ) | const |
Nombre de pas de décomposition de la boucle.
Définition à la ligne 276 du fichier RunCommand.cc.
Référencé par Arcane::Accelerator::Impl::_applyGenericLoop(), et Arcane::Accelerator::impl::_applyItems().
| Int32 Arcane::Accelerator::RunCommand::nbThreadPerBlock | ( | ) | const |
Définition à la ligne 85 du fichier RunCommand.cc.
| const ParallelLoopOptions & Arcane::Accelerator::RunCommand::parallelLoopOptions | ( | ) | const |
Configuration des boucles multi-thread.
Définition à la ligne 152 du fichier RunCommand.cc.
| void Arcane::Accelerator::RunCommand::setParallelLoopOptions | ( | const ParallelLoopOptions & | opt | ) |
Positionne la configuration des boucles multi-thread.
Définition à la ligne 143 du fichier RunCommand.cc.
| const TraceInfo & Arcane::Accelerator::RunCommand::traceInfo | ( | ) | const |
Informations pour les traces.
Définition à la ligne 67 du fichier RunCommand.cc.
|
friend |
Définition à la ligne 51 du fichier arccore/src/common/arccore/common/accelerator/RunCommand.h.
|
friend |
Créé une commande associée à la file run_queue.
Définition à la ligne 285 du fichier arccore/src/common/arccore/common/accelerator/RunQueue.h.
|
friend |
Créé une commande associée à la file run_queue.
Définition à la ligne 295 du fichier arccore/src/common/arccore/common/accelerator/RunQueue.h.
Références ARCCORE_CHECK_POINTER.
|
friend |
Affichage des informations de la commande.
Définition à la ligne 162 du fichier RunCommand.cc.
Références addTraceInfo(), et operator<<.
Référencé par operator<<.
|
friend |
Définition à la ligne 50 du fichier arccore/src/common/arccore/common/accelerator/RunCommand.h.