#include <ApplicationStatus.hpp>
|
| ApplicationStatusImp (int num_cpu, std::shared_ptr< SharedMemory > shmem) |
|
virtual | ~ApplicationStatusImp ()=default |
|
void | set_hint (int cpu_idx, uint64_t hint) override |
| Set the current hint bits for a CPU. More...
|
|
uint64_t | get_hint (int cpu_idx) const override |
| Get the current hint bits for a CPU. More...
|
|
void | set_hash (int cpu_idx, uint64_t hash, uint64_t hint) override |
| Set the hash and hint of the region currently running on a CPU. More...
|
|
uint64_t | get_hash (int cpu_idx) const override |
| Get the hash of the region currently running on a CPU. More...
|
|
void | reset_work_units (int cpu_idx) override |
|
void | set_total_work_units (int cpu_idx, int work_units) override |
| Reset the total work units for all threads to be completed as part of a parallel region. Calling this method also resets the work completed for the CPU. More...
|
|
void | increment_work_unit (int cpu_idx) override |
| Mark a unit of work completed for this CPU. More...
|
|
double | get_progress_cpu (int cpu_idx) const override |
| Get the current progress for this CPU. Progress is the fraction of the total work units that have been completed. More...
|
|
void | update_cache (void) override |
| Updates the local memory with the latest values from the shared memory. Any calls to get methods will use these values until the cache is updated again. More...
|
|
virtual | ~ApplicationStatus ()=default |
|
|
static std::unique_ptr< ApplicationStatus > | make_unique (int num_cpu, std::shared_ptr< SharedMemory > shmem) |
| Create an ApplicationStatus object using the given SharedMemory. The caller is responsible for calling buffer_size() when creating the shared memory, or attaching to an existing shared memory region before passing the object to this method. More...
|
|
static size_t | buffer_size (int num_cpu) |
| Return the required size of the shared memory region used by the ApplicationStatus for the given number of CPUs. More...
|
|
static constexpr size_t | M_STATUS_SIZE = geopm::hardware_destructive_interference_size |
|
◆ ApplicationStatusImp()
geopm::ApplicationStatusImp::ApplicationStatusImp |
( |
int |
num_cpu, |
|
|
std::shared_ptr< SharedMemory > |
shmem |
|
) |
| |
◆ ~ApplicationStatusImp()
virtual geopm::ApplicationStatusImp::~ApplicationStatusImp |
( |
| ) |
|
|
virtualdefault |
◆ get_hash()
uint64_t geopm::ApplicationStatusImp::get_hash |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
◆ get_hint()
uint64_t geopm::ApplicationStatusImp::get_hint |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
Get the current hint bits for a CPU.
- Parameters
-
[in] | cpu_idx | Index of the Linux logical CPU. |
- Returns
- The current hint for the given CPU.
Implements geopm::ApplicationStatus.
◆ get_progress_cpu()
double geopm::ApplicationStatusImp::get_progress_cpu |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
Get the current progress for this CPU. Progress is the fraction of the total work units that have been completed.
- Parameters
-
[in] | cpu_idx | Index of the Linux logical CPU. |
- Returns
- Fraction of the total work completed by this CPU.
Implements geopm::ApplicationStatus.
◆ increment_work_unit()
void geopm::ApplicationStatusImp::increment_work_unit |
( |
int |
cpu_idx | ) |
|
|
overridevirtual |
Mark a unit of work completed for this CPU.
- Parameters
-
[in] | cpu_idx | Index of the Linux logical CPU |
Implements geopm::ApplicationStatus.
◆ reset_work_units()
void geopm::ApplicationStatusImp::reset_work_units |
( |
int |
cpu_idx | ) |
|
|
overridevirtual |
◆ set_hash()
void geopm::ApplicationStatusImp::set_hash |
( |
int |
cpu_idx, |
|
|
uint64_t |
hash, |
|
|
uint64_t |
hint |
|
) |
| |
|
overridevirtual |
◆ set_hint()
void geopm::ApplicationStatusImp::set_hint |
( |
int |
cpu_idx, |
|
|
uint64_t |
hint |
|
) |
| |
|
overridevirtual |
Set the current hint bits for a CPU.
- Parameters
-
[in] | cpu_idx | Index of the Linux logical CPU |
[in] | hint | Bitfield of hint to set for the CPU. Any existing hint will be overwritten. |
Implements geopm::ApplicationStatus.
◆ set_total_work_units()
void geopm::ApplicationStatusImp::set_total_work_units |
( |
int |
cpu_idx, |
|
|
int |
work_units |
|
) |
| |
|
overridevirtual |
Reset the total work units for all threads to be completed as part of a parallel region. Calling this method also resets the work completed for the CPU.
- Parameters
-
[in] | cpu_idx | Index of the Linux logical CPU |
Implements geopm::ApplicationStatus.
◆ update_cache()
void geopm::ApplicationStatusImp::update_cache |
( |
void |
| ) |
|
|
overridevirtual |
Updates the local memory with the latest values from the shared memory. Any calls to get methods will use these values until the cache is updated again.
Implements geopm::ApplicationStatus.
The documentation for this class was generated from the following files: