MulticoreBSP for C  Version 1.1
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.
bool Aset
 Whether the affinity field as been set manually.
bool Cset
 Whether the cores field has been set manually.
bool TpCset
 Whether the threads_per_core field has been set manually.
bool TNset
 Whether the thread numbering field has been set manually.
bool Pset
 Whether the manual pinning field has been set.
bool Rset
 Whether the reserved cores field has been set.
size_t threads
 The total number of threads available for computation.
enum mcbsp_affinity_mode affinity
 Currently active affinity strategy.
size_t cores
 The number of hardware cores available on the current system.
size_t threads_per_core
 The number of hardware threads per core on the system MulticoreBSP is executing on.
enum mcbsp_thread_numbering thread_numbering
 Currently active thread-numbering method.
size_t * manual_affinity
 Pointer to the manually-defined affinity definition.
size_t num_reserved_cores
 Number of entries in the reserved_cores array.
size_t * reserved_cores
 Pointer to the manually-defined reversed-cores list.

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'.

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.

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.


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