Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Accelerator::RunQueueEvent

Evènement pour une file d'exécution. Plus de détails...

#include <arcane/accelerator/core/RunQueueEvent.h>

+ Graphe de collaboration de Arcane::Accelerator::RunQueueEvent:

Classes

class  Impl
 

Fonctions membres publiques

 RunQueueEvent (const RunQueueEvent &)
 
RunQueueEventoperator= (const RunQueueEvent &)
 
 RunQueueEvent (RunQueueEvent &&) noexcept
 
RunQueueEventoperator= (RunQueueEvent &&) noexcept
 
bool isNull () const
 Indique si l'instance est nulle.
 
void wait ()
 Bloque tant que les files associées à cet évènement n'ont pas fini leur travail.
 

Amis

RunQueueEvent makeEvent (const Runner &runner)
 Créé un évènement associé à runner.
 
Ref< RunQueueEventmakeEventRef (const Runner &runner)
 Créé un évènement associé à runner.
 

Description détaillée

Evènement pour une file d'exécution.

Cette classe a une sémantique par référence.

Les méthodes RunQueue::recordEvent() et RunQueue::waitEvent() permettent d'associer un RunQueueEvent à une RunQueue donnée pour effectuer une synchronisation.

Par exemple:

Arcane::Accelerator::Runner runner = *m_runner;
queue1.setAsync(true);
queue2.setAsync(true);
Integer nb_value = 100000;
{
auto command1 = makeCommand(queue1);
auto v = viewOut(command1, values);
command1 << RUNCOMMAND_LOOP1(iter, nb_value)
{
auto [i] = iter();
v(iter) = i + 3;
};
queue1.recordEvent(event);
}
event.wait();
{
auto command2 = makeCommand(queue2);
auto v = viewInOut(command2, values);
command2 << RUNCOMMAND_LOOP1(iter, nb_value)
{
v(iter) = v(iter) * 2;
};
queue2.recordEvent(event);
}
event.wait();
#define RUNCOMMAND_LOOP1(iter_name, x1,...)
Boucle sur accélérateur avec arguments supplémentaires pour les réductions.
Evènement pour une file d'exécution.
friend RunQueueEvent makeEvent(const Runner &runner)
Créé un évènement associé à runner.
File d'exécution pour un accélérateur.
void setAsync(bool v)
Positionne l'asynchronisme de l'instance.
Definition RunQueue.cc:299
Gestionnaire d'exécution pour accélérateur.
Definition core/Runner.h:68
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
RunCommand makeCommand(const RunQueue &run_queue)
Créé une commande associée à la file run_queue.
auto viewInOut(const ViewBuildInfo &vbi, CellMaterialVariableScalarRef< DataType > &var)
Vue en lecture/écriture pour les variables materiaux scalaire.
auto viewOut(const ViewBuildInfo &vbi, CellMaterialVariableScalarRef< DataType > &var)
Vue en écriture pour les variables materiaux scalaire.
RunQueue makeQueue(const Runner &runner)
Créé une file associée à runner.

Définition à la ligne 43 du fichier RunQueueEvent.h.

Documentation des constructeurs et destructeur

◆ RunQueueEvent() [1/3]

Arcane::Accelerator::RunQueueEvent::RunQueueEvent ( )

Définition à la ligne 71 du fichier RunQueueEvent.cc.

◆ RunQueueEvent() [2/3]

Arcane::Accelerator::RunQueueEvent::RunQueueEvent ( const RunQueueEvent x)

Définition à la ligne 88 du fichier RunQueueEvent.cc.

◆ RunQueueEvent() [3/3]

Arcane::Accelerator::RunQueueEvent::RunQueueEvent ( RunQueueEvent &&  x)
noexcept

Définition à la ligne 97 du fichier RunQueueEvent.cc.

◆ ~RunQueueEvent()

Arcane::Accelerator::RunQueueEvent::~RunQueueEvent ( )

Définition à la ligne 127 du fichier RunQueueEvent.cc.

Documentation des fonctions membres

◆ isNull()

bool Arcane::Accelerator::RunQueueEvent::isNull ( ) const
inline

Indique si l'instance est nulle.

L'instance est nulle si elle a été construite avec le constructeur par défaut.

Définition à la ligne 72 du fichier RunQueueEvent.h.

◆ operator=() [1/2]

RunQueueEvent & Arcane::Accelerator::RunQueueEvent::operator= ( const RunQueueEvent x)

Définition à la ligne 106 du fichier RunQueueEvent.cc.

◆ operator=() [2/2]

RunQueueEvent & Arcane::Accelerator::RunQueueEvent::operator= ( RunQueueEvent &&  x)
noexcept

Définition à la ligne 117 du fichier RunQueueEvent.cc.

◆ wait()

void Arcane::Accelerator::RunQueueEvent::wait ( )

Bloque tant que les files associées à cet évènement n'ont pas fini leur travail.

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

Documentation des fonctions amies et associées

◆ makeEvent

RunQueueEvent makeEvent ( const Runner runner)
friend

Créé un évènement associé à runner.

Définition à la ligne 95 du fichier RunQueueEvent.h.

◆ makeEventRef

Ref< RunQueueEvent > makeEventRef ( const Runner runner)
friend

Créé un évènement associé à runner.

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


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