MulticoreBSP for C  Version 2.0.4
Data Fields
mcbsp_util_machine_info Struct Reference

Structure representing the machine hardware information. More...

#include <mcutil.h>

Data Fields

bool Tset
 Whether the threads field has been set manually. More...
 
bool Aset
 Whether the affinity field as been set manually. More...
 
bool Cset
 Whether the cores field has been set manually. More...
 
bool TpCset
 Whether the threads_per_core field has been set manually. More...
 
bool TNset
 Whether the thread numbering field has been set manually. More...
 
bool Pset
 Whether the manual pinning field has been set. More...
 
bool Rset
 Whether the reserved cores field has been set. More...
 
bool UTset
 Whether the unused_threads_per_core field has been set. More...
 
bool CPFset
 Whether the checkpoint_frequency field has been overridden. More...
 
bool SCFset
 Whether the safe_checkpoint_frequency field has been overridden. More...
 
size_t threads
 The total number of threads available for computation. More...
 
enum mcbsp_affinity_mode affinity
 Currently active affinity strategy. More...
 
size_t cores
 The number of hardware cores available on the current system. More...
 
size_t threads_per_core
 The number of hardware threads per core on the system MulticoreBSP is executing on. More...
 
enum mcbsp_thread_numbering thread_numbering
 Currently active thread-numbering method. More...
 
size_t * manual_affinity
 Pointer to the manually-defined affinity definition. More...
 
size_t num_reserved_cores
 Number of entries in the reserved_cores array. More...
 
size_t * reserved_cores
 Pointer to the manually-defined reversed-cores list. More...
 
size_t unused_threads_per_core
 Number of threads per core that should remain unused. More...
 
size_t cp_f
 The default checkpointing frequency. More...
 
size_t safe_cp_f
 The checkpointing frequency used when trouble is imminent. More...
 

Detailed Description

Structure representing the machine hardware information.

Field Documentation

enum mcbsp_affinity_mode mcbsp_util_machine_info::affinity

Currently active affinity strategy.

bool mcbsp_util_machine_info::Aset

Whether the affinity field as been set manually.

size_t mcbsp_util_machine_info::cores

The number of hardware cores available on the current system.

MulticoreBSP can not (as of yet) determine this information reliably by itself. A user can set this value manually at run-time via mcbsp_set_available_cores, or supply a value via `machine.info'.

size_t mcbsp_util_machine_info::cp_f

The default checkpointing frequency.

Used for automatic checkpointing. If this value is 0, then automatic checkpointing is disabled.` Otherwise, it will checkpoint every cp_f bsp_syncs.

bool mcbsp_util_machine_info::CPFset

Whether the checkpoint_frequency field has been overridden.

bool mcbsp_util_machine_info::Cset

Whether the cores field has been set manually.

size_t* mcbsp_util_machine_info::manual_affinity

Pointer to the manually-defined affinity definition.

Required when MCBSP_AFFINITY is set to MANUAL.

The list should be of length threads, and consist out of unique numbers between 0 and threads-1 (inclusive), where C is the number of available hardware threads on the current machine.

size_t mcbsp_util_machine_info::num_reserved_cores

Number of entries in the reserved_cores array.

bool mcbsp_util_machine_info::Pset

Whether the manual pinning field has been set.

size_t* mcbsp_util_machine_info::reserved_cores

Pointer to the manually-defined reversed-cores list.

This list is of length <= cores, and contains unique entries in-between 0 and cores-1 (inclusive). It represents the core-IDs that are reserved by the system (or other software), thus forbidding MulticoreBSP to pin threads to that core.

bool mcbsp_util_machine_info::Rset

Whether the reserved cores field has been set.

size_t mcbsp_util_machine_info::safe_cp_f

The checkpointing frequency used when trouble is imminent.

Used for automatic checkpointing. This frequency overrides the default cp_f when the MulticoreBSP for C run-time detects an imminent hardware failure, such as a back-up power supply failing.

bool mcbsp_util_machine_info::SCFset

Whether the safe_checkpoint_frequency field has been overridden.

enum mcbsp_thread_numbering mcbsp_util_machine_info::thread_numbering

Currently active thread-numbering method.

size_t mcbsp_util_machine_info::threads

The total number of threads available for computation.

size_t mcbsp_util_machine_info::threads_per_core

The number of hardware threads per core on the system MulticoreBSP is executing on.

bool mcbsp_util_machine_info::TNset

Whether the thread numbering field has been set manually.

bool mcbsp_util_machine_info::TpCset

Whether the threads_per_core field has been set manually.

bool mcbsp_util_machine_info::Tset

Whether the threads field has been set manually.

size_t mcbsp_util_machine_info::unused_threads_per_core

Number of threads per core that should remain unused.

May be used to disable hyperthreading.

bool mcbsp_util_machine_info::UTset

Whether the unused_threads_per_core field has been set.


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