MulticoreBSP for C  Version 1.1
Data Fields
mcbsp_init_data Struct Reference

Initialisation struct. More...

#include <mcinternal.h>

Collaboration diagram for mcbsp_init_data:
Collaboration graph
[legend]

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_dataprev_data
 Stores any previous thread-local data.
size_t tagSize
 Currently active tag size.

Detailed Description

Initialisation struct.


Field Documentation

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.


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