MulticoreBSP for C
Version 1.1
|
Initialisation struct. More...
#include <mcinternal.h>
Data Fields | |
void(* | spmd )(void) |
User-definied SPMD entry-point. | |
void * | bsp_program |
In case of a call from the C++ wrapper, pointer to the user-defined BSP_program. | |
int | argc |
Passed argc from bsp_init. | |
char ** | argv |
Passed argv from bsp_init. | |
pthread_t * | threads |
Threads corresponding to this BSP program. | |
MCBSP_PROCESSOR_INDEX_DATATYPE | P |
Number of processors involved in this run. | |
volatile bool | abort |
Whether the BSP program should be aborted. | |
bool | ended |
Whether the BSP program has ended. | |
MCBSP_PROCESSOR_INDEX_DATATYPE | sync_entry_counter |
Barrier counter for this BSP execution. | |
MCBSP_PROCESSOR_INDEX_DATATYPE | sync_exit_counter |
Barrier counter for this BSP program. | |
pthread_mutex_t | mutex |
Mutex used for critical sections (such as synchronisation). | |
unsigned char * | condition |
Condition used for critical sections. | |
unsigned char * | mid_condition |
Condition used for critical sections. | |
struct mcbsp_util_address_table | global2local |
Address table used for inter-thread communication. | |
struct mcbsp_thread_data ** | threadData |
Pointers to all thread-local data, as needed for communication. | |
struct mcbsp_thread_data * | prev_data |
Stores any previous thread-local data. | |
size_t | tagSize |
Currently active tag size. |
Initialisation struct.
volatile bool mcbsp_init_data::abort |
Whether the BSP program should be aborted.
int mcbsp_init_data::argc |
Passed argc from bsp_init.
char** mcbsp_init_data::argv |
Passed argv from bsp_init.
void* mcbsp_init_data::bsp_program |
In case of a call from the C++ wrapper, pointer to the user-defined BSP_program.
unsigned char* mcbsp_init_data::condition |
Condition used for critical sections.
bool mcbsp_init_data::ended |
Whether the BSP program has ended.
struct mcbsp_util_address_table mcbsp_init_data::global2local |
Address table used for inter-thread communication.
unsigned char* mcbsp_init_data::mid_condition |
Condition used for critical sections.
pthread_mutex_t mcbsp_init_data::mutex |
Mutex used for critical sections (such as synchronisation).
MCBSP_PROCESSOR_INDEX_DATATYPE mcbsp_init_data::P |
Number of processors involved in this run.
struct mcbsp_thread_data* mcbsp_init_data::prev_data |
Stores any previous thread-local data.
Used for nested runs.
void(* mcbsp_init_data::spmd)(void) |
User-definied SPMD entry-point.
MCBSP_PROCESSOR_INDEX_DATATYPE mcbsp_init_data::sync_entry_counter |
Barrier counter for this BSP execution.
Synchronises synchronisation entry.
MCBSP_PROCESSOR_INDEX_DATATYPE mcbsp_init_data::sync_exit_counter |
Barrier counter for this BSP program.
Synchronises synchronisation exit.
size_t mcbsp_init_data::tagSize |
Currently active tag size.
struct mcbsp_thread_data** mcbsp_init_data::threadData |
Pointers to all thread-local data, as needed for communication.
pthread_t* mcbsp_init_data::threads |
Threads corresponding to this BSP program.