MulticoreBSP for C
Version 2.0.4
|
Thread-local data. More...
#include <mcbsp.h>
Data Fields | |
size_t | bsp_id |
Thread-local BSP id. More... | |
size_t | newTagSize |
Stores the tag size to become active after the next synchronisation. More... | |
size_t | localC |
Counts the maximum number of registered variables at any one time. More... | |
double | superstep_start_time |
The value of bsp_time at the start of the current computation phase. More... | |
struct mcbsp_init_data * | init |
Initialisation data. More... | |
struct mcbsp_util_stack * | request_queues |
The communication queues used for bsp_get requests. More... | |
struct mcbsp_util_stack * | queues |
The communication queues used for all DRMA and BSMP communication. More... | |
struct mcbsp_util_stack * | hpsend_queues |
The communication queues used for bsp_hpsend requests. More... | |
struct mcbsp_util_address_map | local2global |
Local address to global variable map. More... | |
struct mcbsp_util_stack | hpdrma_queue |
The communication queue for hpget and hpput requests. More... | |
struct mcbsp_util_stack | bsmp |
The BSMP incoming message queue. More... | |
struct mcbsp_util_stack | profile |
Where to store any profiling statistics. More... | |
struct mcbsp_util_stack | removedGlobals |
Keeps track of which global variables are removed (as per bsp_pop_reg). More... | |
struct mcbsp_util_stack | localsToRemove |
Keeps track which globals will be removed before the next superstep arrives. More... | |
struct mcbsp_util_stack | localsToPush |
The push request queue. More... | |
struct mcbsp_util_stack | globalsToPush |
Caches the mapSearch results for use with bsp_push_reg requests. More... | |
struct mcbsp_util_machine_partition | machine_partition |
Stores the machine part allocated to this thread. More... | |
struct mcbsp_superstep_stats | superstep_stats |
Stores statistics on the current superstep. More... | |
struct timespec | start |
Stores the start-time of this thread. More... | |
Thread-local data.
Contains data local to each thread in an SPMD section.
struct mcbsp_util_stack mcbsp_thread_data::bsmp |
The BSMP incoming message queue.
size_t mcbsp_thread_data::bsp_id |
Thread-local BSP id.
struct mcbsp_util_stack mcbsp_thread_data::globalsToPush |
Caches the mapSearch results for use with bsp_push_reg requests.
struct mcbsp_util_stack mcbsp_thread_data::hpdrma_queue |
The communication queue for hpget and hpput requests.
There is only a single queue per thread, since only the active threads knows when all requests to-be are made and thus when the communication can start. This is what makes hp-primitives unsafe; overlapping or neighbouring memory areas can cause data races and false sharing conditions. The main advantage of using the hp queue is that no payload data will be cached.
struct mcbsp_util_stack* mcbsp_thread_data::hpsend_queues |
The communication queues used for bsp_hpsend requests.
Kept separately from bsp_hpget and bsp_hpput queues since they are handled quite differently.
struct mcbsp_init_data* mcbsp_thread_data::init |
Initialisation data.
struct mcbsp_util_address_map mcbsp_thread_data::local2global |
Local address to global variable map.
size_t mcbsp_thread_data::localC |
Counts the maximum number of registered variables at any one time.
struct mcbsp_util_stack mcbsp_thread_data::localsToPush |
The push request queue.
struct mcbsp_util_stack mcbsp_thread_data::localsToRemove |
Keeps track which globals will be removed before the next superstep arrives.
struct mcbsp_util_machine_partition mcbsp_thread_data::machine_partition |
Stores the machine part allocated to this thread.
Used for nested runs.
size_t mcbsp_thread_data::newTagSize |
Stores the tag size to become active after the next synchronisation.
struct mcbsp_util_stack mcbsp_thread_data::profile |
Where to store any profiling statistics.
struct mcbsp_util_stack* mcbsp_thread_data::queues |
The communication queues used for all DRMA and BSMP communication.
struct mcbsp_util_stack mcbsp_thread_data::removedGlobals |
Keeps track of which global variables are removed (as per bsp_pop_reg).
struct mcbsp_util_stack* mcbsp_thread_data::request_queues |
The communication queues used for bsp_get requests.
struct timespec mcbsp_thread_data::start |
Stores the start-time of this thread.
(Default POSIX timer.)
double mcbsp_thread_data::superstep_start_time |
The value of bsp_time at the start of the current computation phase.
struct mcbsp_superstep_stats mcbsp_thread_data::superstep_stats |
Stores statistics on the current superstep.