Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Accelerator::impl::RunQueueImpl

File d'exécution pour accélérateur. Plus de détails...

#include <arcane/accelerator/core/internal/RunQueueImpl.h>

+ Graphe de collaboration de Arcane::Accelerator::impl::RunQueueImpl:

Fonctions membres publiques

 RunQueueImpl (const RunQueueImpl &)=delete
 
 RunQueueImpl (RunQueueImpl &&)=delete
 
RunQueueImploperator= (const RunQueueImpl &)=delete
 
RunQueueImploperator= (RunQueueImpl &&)=delete
 
eExecutionPolicy executionPolicy () const
 
RunnerImplrunner () const
 
MemoryAllocationOptions allocationOptions () const
 
bool isAutoPrefetchCommand () const
 
void copyMemory (const MemoryCopyArgs &args) const
 
void prefetchMemory (const MemoryPrefetchArgs &args) const
 
void recordEvent (RunQueueEvent &event)
 
void waitEvent (RunQueueEvent &event)
 
void addRef ()
 
void removeRef ()
 

Fonctions membres publiques statiques

static RunQueueImplcreate (RunnerImpl *r, const RunQueueBuildInfo &bi)
 
static RunQueueImplcreate (RunnerImpl *r)
 

Fonctions membres privées

 RunQueueImpl (RunnerImpl *runner_impl, Int32 id, const RunQueueBuildInfo &bi)
 
RunCommandImpl_internalCreateOrGetRunCommandImpl ()
 
IRunnerRuntime_internalRuntime () const
 
IRunQueueStream_internalStream () const
 
void _internalFreeRunningCommands ()
 Libère les commandes en cours d'exécution.
 
void _internalBarrier ()
 Bloque jusqu'à ce que toutes les commandes soient terminées.
 
bool _isInPool () const
 
void _release ()
 
void _setDefaultMemoryRessource ()
 

Fonctions membres privées statiques

static RunQueueImpl_reset (RunQueueImpl *p)
 Réinitialise l'implémentation.
 

Attributs privés

RunnerImplm_runner_impl = nullptr
 
eExecutionPolicy m_execution_policy = eExecutionPolicy::None
 
IRunnerRuntimem_runtime = nullptr
 
IRunQueueStreamm_queue_stream = nullptr
 
std::stack< RunCommandImpl * > m_run_command_pool
 Pool de commandes.
 
UniqueArray< RunCommandImpl * > m_active_run_command_list
 Liste des commandes en cours d'exécution.
 
Int32 m_id = 0
 Identifiant de la file.
 
bool m_is_in_pool = false
 Indique si l'instance est dans un pool d'instance.
 
std::atomic< Int32m_nb_ref = 0
 Nombre de références sur l'instance.
 
bool m_is_async = false
 Indique si la file est asynchrone.
 
eMemoryRessource m_memory_ressource = eMemoryRessource::Unknown
 Ressource mémoire par défaut.
 

Amis

class Arcane::Accelerator::Runner
 
class Arcane::Accelerator::RunQueue
 
class RunCommandImpl
 
class RunQueueImplStack
 
class RunnerImpl
 

Description détaillée

File d'exécution pour accélérateur.

Cette classe gère l'implémentation d'une RunQueue. La description des méthodes se trouve dans RunQueue.

Définition à la ligne 40 du fichier core/internal/RunQueueImpl.h.

Documentation des constructeurs et destructeur

◆ RunQueueImpl()

Arcane::Accelerator::impl::RunQueueImpl::RunQueueImpl ( RunnerImpl runner_impl,
Int32  id,
const RunQueueBuildInfo bi 
)
private

Définition à la ligne 38 du fichier RunQueueImpl.cc.

◆ ~RunQueueImpl()

Arcane::Accelerator::impl::RunQueueImpl::~RunQueueImpl ( )

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

Documentation des fonctions membres

◆ _internalBarrier()

void Arcane::Accelerator::impl::RunQueueImpl::_internalBarrier ( )
private

Bloque jusqu'à ce que toutes les commandes soient terminées.

Définition à la ligne 221 du fichier RunQueueImpl.cc.

◆ _internalCreateOrGetRunCommandImpl()

RunCommandImpl * Arcane::Accelerator::impl::RunQueueImpl::_internalCreateOrGetRunCommandImpl ( )
private

Définition à la ligne 180 du fichier RunQueueImpl.cc.

◆ _internalFreeRunningCommands()

void Arcane::Accelerator::impl::RunQueueImpl::_internalFreeRunningCommands ( )
private

Libère les commandes en cours d'exécution.

Cette méthode est en général appelée après une barrière ce qui garantit que les commandes asynchrones sont terminées.

Définition à la ligne 206 du fichier RunQueueImpl.cc.

◆ _internalRuntime()

IRunnerRuntime * Arcane::Accelerator::impl::RunQueueImpl::_internalRuntime ( ) const
inlineprivate

Définition à la ligne 97 du fichier core/internal/RunQueueImpl.h.

◆ _internalStream()

IRunQueueStream * Arcane::Accelerator::impl::RunQueueImpl::_internalStream ( ) const
inlineprivate

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

◆ _isInPool()

bool Arcane::Accelerator::impl::RunQueueImpl::_isInPool ( ) const
inlineprivate

Définition à la ligne 101 du fichier core/internal/RunQueueImpl.h.

◆ _release()

void Arcane::Accelerator::impl::RunQueueImpl::_release ( )
private

Définition à la ligne 67 du fichier RunQueueImpl.cc.

◆ _reset()

RunQueueImpl * Arcane::Accelerator::impl::RunQueueImpl::_reset ( RunQueueImpl p)
staticprivate

Réinitialise l'implémentation.

Cette méthode est appelée lorsqu'on va initialiser une RunQueue avec cette instance. Il faut dans ce cas réinitialiser les valeurs de l'instance qui dépendent de l'état actuel.

Définition à la ligne 237 du fichier RunQueueImpl.cc.

◆ _setDefaultMemoryRessource()

void Arcane::Accelerator::impl::RunQueueImpl::_setDefaultMemoryRessource ( )
private

Définition à la ligne 92 du fichier RunQueueImpl.cc.

◆ addRef()

void Arcane::Accelerator::impl::RunQueueImpl::addRef ( )
inline

Définition à la ligne 83 du fichier core/internal/RunQueueImpl.h.

◆ allocationOptions()

MemoryAllocationOptions Arcane::Accelerator::impl::RunQueueImpl::allocationOptions ( ) const

Définition à la ligne 103 du fichier RunQueueImpl.cc.

◆ copyMemory()

void Arcane::Accelerator::impl::RunQueueImpl::copyMemory ( const MemoryCopyArgs args) const

Définition à la ligne 124 du fichier RunQueueImpl.cc.

◆ create() [1/2]

RunQueueImpl * Arcane::Accelerator::impl::RunQueueImpl::create ( RunnerImpl r)
static

Définition à la ligne 162 du fichier RunQueueImpl.cc.

◆ create() [2/2]

RunQueueImpl * Arcane::Accelerator::impl::RunQueueImpl::create ( RunnerImpl r,
const RunQueueBuildInfo bi 
)
static

Définition à la ligne 171 du fichier RunQueueImpl.cc.

◆ executionPolicy()

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

Définition à la ligne 70 du fichier core/internal/RunQueueImpl.h.

◆ isAutoPrefetchCommand()

bool Arcane::Accelerator::impl::RunQueueImpl::isAutoPrefetchCommand ( ) const

Définition à la ligne 115 du fichier RunQueueImpl.cc.

◆ prefetchMemory()

void Arcane::Accelerator::impl::RunQueueImpl::prefetchMemory ( const MemoryPrefetchArgs args) const

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

◆ recordEvent()

void Arcane::Accelerator::impl::RunQueueImpl::recordEvent ( RunQueueEvent event)

Définition à la ligne 142 du fichier RunQueueImpl.cc.

◆ removeRef()

void Arcane::Accelerator::impl::RunQueueImpl::removeRef ( )
inline

Définition à la ligne 87 du fichier core/internal/RunQueueImpl.h.

◆ runner()

RunnerImpl * Arcane::Accelerator::impl::RunQueueImpl::runner ( ) const
inline

Définition à la ligne 71 du fichier core/internal/RunQueueImpl.h.

◆ waitEvent()

void Arcane::Accelerator::impl::RunQueueImpl::waitEvent ( RunQueueEvent event)

Définition à la ligne 152 du fichier RunQueueImpl.cc.

Documentation des fonctions amies et associées

◆ Arcane::Accelerator::Runner

Définition à la ligne 42 du fichier core/internal/RunQueueImpl.h.

◆ Arcane::Accelerator::RunQueue

Définition à la ligne 43 du fichier core/internal/RunQueueImpl.h.

◆ RunCommandImpl

Définition à la ligne 44 du fichier core/internal/RunQueueImpl.h.

◆ RunnerImpl

Définition à la ligne 46 du fichier core/internal/RunQueueImpl.h.

◆ RunQueueImplStack

Définition à la ligne 45 du fichier core/internal/RunQueueImpl.h.

Documentation des données membres

◆ m_active_run_command_list

UniqueArray<RunCommandImpl*> Arcane::Accelerator::impl::RunQueueImpl::m_active_run_command_list
private

Liste des commandes en cours d'exécution.

Définition à la ligne 115 du fichier core/internal/RunQueueImpl.h.

◆ m_execution_policy

eExecutionPolicy Arcane::Accelerator::impl::RunQueueImpl::m_execution_policy = eExecutionPolicy::None
private

Définition à la ligne 109 du fichier core/internal/RunQueueImpl.h.

◆ m_id

Int32 Arcane::Accelerator::impl::RunQueueImpl::m_id = 0
private

Identifiant de la file.

Définition à la ligne 117 du fichier core/internal/RunQueueImpl.h.

◆ m_is_async

bool Arcane::Accelerator::impl::RunQueueImpl::m_is_async = false
private

Indique si la file est asynchrone.

Définition à la ligne 123 du fichier core/internal/RunQueueImpl.h.

◆ m_is_in_pool

bool Arcane::Accelerator::impl::RunQueueImpl::m_is_in_pool = false
private

Indique si l'instance est dans un pool d'instance.

Définition à la ligne 119 du fichier core/internal/RunQueueImpl.h.

◆ m_memory_ressource

eMemoryRessource Arcane::Accelerator::impl::RunQueueImpl::m_memory_ressource = eMemoryRessource::Unknown
private

Ressource mémoire par défaut.

Définition à la ligne 125 du fichier core/internal/RunQueueImpl.h.

◆ m_nb_ref

std::atomic<Int32> Arcane::Accelerator::impl::RunQueueImpl::m_nb_ref = 0
private

Nombre de références sur l'instance.

Définition à la ligne 121 du fichier core/internal/RunQueueImpl.h.

◆ m_queue_stream

IRunQueueStream* Arcane::Accelerator::impl::RunQueueImpl::m_queue_stream = nullptr
private

Définition à la ligne 111 du fichier core/internal/RunQueueImpl.h.

◆ m_run_command_pool

std::stack<RunCommandImpl*> Arcane::Accelerator::impl::RunQueueImpl::m_run_command_pool
private

Pool de commandes.

Définition à la ligne 113 du fichier core/internal/RunQueueImpl.h.

◆ m_runner_impl

RunnerImpl* Arcane::Accelerator::impl::RunQueueImpl::m_runner_impl = nullptr
private

Définition à la ligne 108 du fichier core/internal/RunQueueImpl.h.

◆ m_runtime

IRunnerRuntime* Arcane::Accelerator::impl::RunQueueImpl::m_runtime = nullptr
private

Définition à la ligne 110 du fichier core/internal/RunQueueImpl.h.


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