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

Classes

class  Lock
 Verrou pour le pool de RunQueue en multi-thread. Plus de détails...
 

Fonctions membres publiques

void initialize (Runner *runner, eExecutionPolicy v, DeviceId device)
 
void setConcurrentQueueCreation (bool v)
 
bool isConcurrentQueueCreation () const
 
RunQueueImplStackgetPool ()
 
void addTime (double v)
 
double cumulativeCommandTime () const
 
impl::IRunnerRuntimeruntime () const
 
bool isAutoPrefetchCommand () const
 
eExecutionPolicy executionPolicy () const
 
bool isInit () const
 
eDeviceReducePolicy reducePolicy () const
 
DeviceId deviceId () const
 
void _internalPutRunQueueImplInPool (RunQueueImpl *p)
 
RunQueueImpl_internalCreateOrGetRunQueueImpl ()
 
RunQueueImpl_internalCreateOrGetRunQueueImpl (const RunQueueBuildInfo &bi)
 
IRunQueueEventImpl_createEvent ()
 
IRunQueueEventImpl_createEventWithTimer ()
 
RunnerInternal_internalApi ()
 

Fonctions membres privées

void _freePool ()
 
void _checkIsInit () const
 

Attributs privés

eExecutionPolicy m_execution_policy = eExecutionPolicy::None
 
bool m_is_init = false
 
eDeviceReducePolicy m_reduce_policy = eDeviceReducePolicy::Grid
 
DeviceId m_device_id
 
impl::IRunnerRuntimem_runtime = nullptr
 
RunQueueImplStack m_run_queue_pool
 
std::unique_ptr< std::mutex > m_pool_mutex
 
bool m_use_pool_mutex = false
 
std::atomic< Int64m_cumulative_command_time = 0
 Temps passé dans le noyau en nano-seconde. On utilise un 'Int64' car les atomiques sur les flottants ne sont pas supportés partout.
 
bool m_is_auto_prefetch_command = false
 Indique si on pré-copie les données avant une commande de cette RunQueue.
 
RunnerInternal m_internal_api
 

Description détaillée

Définition à la ligne 62 du fichier RunnerImpl.h.

Documentation des constructeurs et destructeur

◆ RunnerImpl()

Arcane::Accelerator::impl::RunnerImpl::RunnerImpl ( )
inline

Définition à la ligne 96 du fichier RunnerImpl.h.

◆ ~RunnerImpl()

Arcane::Accelerator::impl::RunnerImpl::~RunnerImpl ( )
inline

Définition à la ligne 101 du fichier RunnerImpl.h.

Documentation des fonctions membres

◆ _checkIsInit()

void Arcane::Accelerator::impl::RunnerImpl::_checkIsInit ( ) const
private

Définition à la ligne 128 du fichier Runner.cc.

◆ _createEvent()

IRunQueueEventImpl * Arcane::Accelerator::impl::RunnerImpl::_createEvent ( )

Définition à la ligne 223 du fichier Runner.cc.

◆ _createEventWithTimer()

IRunQueueEventImpl * Arcane::Accelerator::impl::RunnerImpl::_createEventWithTimer ( )

Définition à la ligne 233 du fichier Runner.cc.

◆ _freePool()

void Arcane::Accelerator::impl::RunnerImpl::_freePool ( )
private

Définition à la ligne 138 du fichier Runner.cc.

◆ _internalApi()

RunnerInternal * Arcane::Accelerator::impl::RunnerImpl::_internalApi ( )
inline

Définition à la ligne 148 du fichier RunnerImpl.h.

◆ _internalCreateOrGetRunQueueImpl() [1/2]

impl::RunQueueImpl * Arcane::Accelerator::impl::RunnerImpl::_internalCreateOrGetRunQueueImpl ( )

Définition à la ligne 170 du fichier Runner.cc.

◆ _internalCreateOrGetRunQueueImpl() [2/2]

impl::RunQueueImpl * Arcane::Accelerator::impl::RunnerImpl::_internalCreateOrGetRunQueueImpl ( const RunQueueBuildInfo bi)

Définition à la ligne 192 du fichier Runner.cc.

◆ _internalPutRunQueueImplInPool()

void Arcane::Accelerator::impl::RunnerImpl::_internalPutRunQueueImplInPool ( RunQueueImpl p)

Définition à la ligne 160 du fichier Runner.cc.

◆ addTime()

void Arcane::Accelerator::impl::RunnerImpl::addTime ( double  v)
inline

Définition à la ligne 121 du fichier RunnerImpl.h.

◆ cumulativeCommandTime()

double Arcane::Accelerator::impl::RunnerImpl::cumulativeCommandTime ( ) const
inline

Définition à la ligne 127 du fichier RunnerImpl.h.

◆ deviceId()

DeviceId Arcane::Accelerator::impl::RunnerImpl::deviceId ( ) const
inline

Définition à la ligne 139 du fichier RunnerImpl.h.

◆ executionPolicy()

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

Définition à la ligne 136 du fichier RunnerImpl.h.

◆ getPool()

RunQueueImplStack * Arcane::Accelerator::impl::RunnerImpl::getPool ( )

Définition à la ligne 151 du fichier Runner.cc.

◆ initialize()

void Arcane::Accelerator::impl::RunnerImpl::initialize ( Runner runner,
eExecutionPolicy  v,
DeviceId  device 
)

Définition à la ligne 101 du fichier Runner.cc.

◆ isAutoPrefetchCommand()

bool Arcane::Accelerator::impl::RunnerImpl::isAutoPrefetchCommand ( ) const
inline

Définition à la ligne 134 du fichier RunnerImpl.h.

◆ isConcurrentQueueCreation()

bool Arcane::Accelerator::impl::RunnerImpl::isConcurrentQueueCreation ( ) const
inline

Définition à la ligne 116 du fichier RunnerImpl.h.

◆ isInit()

bool Arcane::Accelerator::impl::RunnerImpl::isInit ( ) const
inline

Définition à la ligne 137 du fichier RunnerImpl.h.

◆ reducePolicy()

eDeviceReducePolicy Arcane::Accelerator::impl::RunnerImpl::reducePolicy ( ) const
inline

Définition à la ligne 138 du fichier RunnerImpl.h.

◆ runtime()

impl::IRunnerRuntime * Arcane::Accelerator::impl::RunnerImpl::runtime ( ) const
inline

Définition à la ligne 133 du fichier RunnerImpl.h.

◆ setConcurrentQueueCreation()

void Arcane::Accelerator::impl::RunnerImpl::setConcurrentQueueCreation ( bool  v)
inline

Définition à la ligne 110 du fichier RunnerImpl.h.

Documentation des données membres

◆ m_cumulative_command_time

std::atomic<Int64> Arcane::Accelerator::impl::RunnerImpl::m_cumulative_command_time = 0
private

Temps passé dans le noyau en nano-seconde. On utilise un 'Int64' car les atomiques sur les flottants ne sont pas supportés partout.

Définition à la ligne 164 du fichier RunnerImpl.h.

◆ m_device_id

DeviceId Arcane::Accelerator::impl::RunnerImpl::m_device_id
private

Définition à la ligne 155 du fichier RunnerImpl.h.

◆ m_execution_policy

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

Définition à la ligne 152 du fichier RunnerImpl.h.

◆ m_internal_api

RunnerInternal Arcane::Accelerator::impl::RunnerImpl::m_internal_api
private

Définition à la ligne 169 du fichier RunnerImpl.h.

◆ m_is_auto_prefetch_command

bool Arcane::Accelerator::impl::RunnerImpl::m_is_auto_prefetch_command = false
private

Indique si on pré-copie les données avant une commande de cette RunQueue.

Définition à la ligne 167 du fichier RunnerImpl.h.

◆ m_is_init

bool Arcane::Accelerator::impl::RunnerImpl::m_is_init = false
private

Définition à la ligne 153 du fichier RunnerImpl.h.

◆ m_pool_mutex

std::unique_ptr<std::mutex> Arcane::Accelerator::impl::RunnerImpl::m_pool_mutex
private

Définition à la ligne 158 du fichier RunnerImpl.h.

◆ m_reduce_policy

eDeviceReducePolicy Arcane::Accelerator::impl::RunnerImpl::m_reduce_policy = eDeviceReducePolicy::Grid
private

Définition à la ligne 154 du fichier RunnerImpl.h.

◆ m_run_queue_pool

RunQueueImplStack Arcane::Accelerator::impl::RunnerImpl::m_run_queue_pool
private

Définition à la ligne 157 du fichier RunnerImpl.h.

◆ m_runtime

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

Définition à la ligne 156 du fichier RunnerImpl.h.

◆ m_use_pool_mutex

bool Arcane::Accelerator::impl::RunnerImpl::m_use_pool_mutex = false
private

Définition à la ligne 159 du fichier RunnerImpl.h.


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