Arcane  v4.1.2.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)
 
RunQueueImplStackgetPool ()
 
void addTime (double v)
 
double cumulativeCommandTime () const
 
IRunnerRuntimeruntime () const
 
bool isAutoPrefetchCommand () const
 
eExecutionPolicy executionPolicy () const
 
bool isInit () const
 
eDeviceReducePolicy reducePolicy () const
 
DeviceId deviceId () const
 
const DeviceInfodeviceInfo () 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
 
const eDeviceReducePolicy m_reduce_policy = eDeviceReducePolicy::Grid
 
DeviceId m_device_id
 
DeviceInfo m_device_info
 
IRunnerRuntimem_runtime = nullptr
 
RunQueueImplStack m_run_queue_pool
 
std::mutex m_pool_mutex
 
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 60 du fichier RunnerImpl.h.

Documentation des constructeurs et destructeur

◆ RunnerImpl()

Arcane::Accelerator::Impl::RunnerImpl::RunnerImpl ( )
inline

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

◆ ~RunnerImpl()

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

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

Documentation des fonctions membres

◆ _checkIsInit()

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

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

◆ _createEvent()

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

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

◆ _createEventWithTimer()

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

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

◆ _freePool()

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

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

◆ _internalApi()

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

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

◆ _internalCreateOrGetRunQueueImpl() [1/2]

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

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

◆ _internalCreateOrGetRunQueueImpl() [2/2]

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

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

◆ _internalPutRunQueueImplInPool()

void Arcane::Accelerator::Impl::RunnerImpl::_internalPutRunQueueImplInPool ( RunQueueImpl * p)

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

◆ addTime()

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

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

◆ cumulativeCommandTime()

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

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

◆ deviceId()

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

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

◆ deviceInfo()

const DeviceInfo & Arcane::Accelerator::Impl::RunnerImpl::deviceInfo ( ) const
inline

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

◆ executionPolicy()

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

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

◆ getPool()

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

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

◆ initialize()

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

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

◆ isAutoPrefetchCommand()

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

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

◆ isInit()

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

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

◆ reducePolicy()

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

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

◆ runtime()

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

Définition à la ligne 119 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 151 du fichier RunnerImpl.h.

◆ m_device_id

DeviceId Arcane::Accelerator::Impl::RunnerImpl::m_device_id
private

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

◆ m_device_info

DeviceInfo Arcane::Accelerator::Impl::RunnerImpl::m_device_info
private

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

◆ m_execution_policy

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

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

◆ m_internal_api

RunnerInternal Arcane::Accelerator::Impl::RunnerImpl::m_internal_api
private

Définition à la ligne 156 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 154 du fichier RunnerImpl.h.

◆ m_is_init

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

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

◆ m_pool_mutex

std::mutex Arcane::Accelerator::Impl::RunnerImpl::m_pool_mutex
private

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

◆ m_reduce_policy

const eDeviceReducePolicy Arcane::Accelerator::Impl::RunnerImpl::m_reduce_policy = eDeviceReducePolicy::Grid
private

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

◆ m_run_queue_pool

RunQueueImplStack Arcane::Accelerator::Impl::RunnerImpl::m_run_queue_pool
private

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

◆ m_runtime

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

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


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