Arcane  v3.16.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>

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.
 
bool hasPendingWork () const
 Indique si les RunQueue associées à cet évènement ont 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();

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

◆ hasPendingWork()

bool Arcane::Accelerator::RunQueueEvent::hasPendingWork ( ) const

Indique si les RunQueue associées à cet évènement ont fini leur travail.

Retourne false si les RunQueue enregistrées via RunQueue::recordEvent() ont fini leur travail. Retourn true sinon.

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

◆ 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 103 du fichier RunQueueEvent.h.

◆ makeEventRef

Ref< RunQueueEvent > makeEventRef ( const Runner & runner)
friend

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

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

Références Arcane::makeRef().


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