Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ForLoopOneExecStat Class Reference

Class to manage the profiling of a single loop execution. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/Profiling.h>

Collaboration diagram for Arcane::ForLoopOneExecStat:

Public Member Functions

void incrementNbChunk ()
 Increments the number of chunks used.
void setBeginTime (Int64 v)
 Sets the loop start time (in nanoseconds).
void setEndTime (Int64 v)
 Sets the loop end time in nanoseconds.
Int64 nbChunk () const
 Number of chunks.
Int64 execTime () const
 Execution time (in nanoseconds).
void reset ()

Private Attributes

std::atomic< Int64m_nb_chunk = 0
 Number of loop decomposition chunks (in multi-thread).
Int64 m_begin_time = 0
Int64 m_end_time = 0

Detailed Description

Class to manage the profiling of a single loop execution.

Definition at line 93 of file arccore/src/base/arccore/base/Profiling.h.

Member Function Documentation

◆ execTime()

Int64 Arcane::ForLoopOneExecStat::execTime ( ) const
inline

Execution time (in nanoseconds).

The returned value is only valid if setBeginTime() and setEndTime() were called previously.

Definition at line 119 of file arccore/src/base/arccore/base/Profiling.h.

Referenced by Arcane::Impl::ForLoopProfilingStat::add().

Here is the caller graph for this function:

◆ incrementNbChunk()

void Arcane::ForLoopOneExecStat::incrementNbChunk ( )
inline

Increments the number of chunks used.

This method can be called simultaneously by multiple threads.

Definition at line 102 of file arccore/src/base/arccore/base/Profiling.h.

References m_nb_chunk.

◆ nbChunk()

Int64 Arcane::ForLoopOneExecStat::nbChunk ( ) const
inline

Number of chunks.

Definition at line 111 of file arccore/src/base/arccore/base/Profiling.h.

References m_nb_chunk.

Referenced by Arcane::Impl::ForLoopProfilingStat::add().

Here is the caller graph for this function:

◆ reset()

void Arcane::ForLoopOneExecStat::reset ( )
inline

Definition at line 121 of file arccore/src/base/arccore/base/Profiling.h.

◆ setBeginTime()

void Arcane::ForLoopOneExecStat::setBeginTime ( Int64 v)
inline

Sets the loop start time (in nanoseconds).

Definition at line 105 of file arccore/src/base/arccore/base/Profiling.h.

◆ setEndTime()

void Arcane::ForLoopOneExecStat::setEndTime ( Int64 v)
inline

Sets the loop end time in nanoseconds.

Definition at line 108 of file arccore/src/base/arccore/base/Profiling.h.

Referenced by Arcane::Accelerator::Impl::RunCommandImpl::notifyEndExecuteKernel().

Here is the caller graph for this function:

Member Data Documentation

◆ m_begin_time

Int64 Arcane::ForLoopOneExecStat::m_begin_time = 0
private

Definition at line 134 of file arccore/src/base/arccore/base/Profiling.h.

◆ m_end_time

Int64 Arcane::ForLoopOneExecStat::m_end_time = 0
private

Definition at line 137 of file arccore/src/base/arccore/base/Profiling.h.

◆ m_nb_chunk

std::atomic<Int64> Arcane::ForLoopOneExecStat::m_nb_chunk = 0
private

Number of loop decomposition chunks (in multi-thread).

Definition at line 131 of file arccore/src/base/arccore/base/Profiling.h.

Referenced by incrementNbChunk(), and nbChunk().


The documentation for this class was generated from the following file: