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