grasp_mpi_engine.h File Reference
#include <stdbool.h>

Go to the source code of this file.

Typedefs

typedef struct order_t_ order_t
 
typedef struct result_t_ result_t
 
typedef order_t *(* order_callback_t) (int worker_rank, const void *master_info, bool *no_more_order, int *num_orders)
 
typedef result_t *(* task_callback_t) (const order_t *order, const void *worker_info)
 
typedef int(* collect_callback_t) (const result_t *result, const void *master_info)
 
typedef void(* progress_info_callback_t) (int num_orders_performed, const result_t *result, const void *master_info)
 

Functions

void grasp_mpi_engine_set_appname (const char *appname)
 
void grasp_mpi_engine_set_order_callback (order_callback_t order_callback, int order_payload_max_size)
 
void grasp_mpi_engine_set_task_callback (task_callback_t task_callback, int result_payload_max_size)
 
void grasp_mpi_engine_set_collect_callback (collect_callback_t collect_callback)
 
void grasp_mpi_engine_set_progress_info_callback (progress_info_callback_t progress_info_callback)
 
order_tgrasp_mpi_engine_new_order (const char *label, size_t payload_size, const void *payload)
 
result_tgrasp_mpi_engine_new_result (const char *label, size_t payload_size, const void *payload)
 
void grasp_mpi_engine_delete_order (order_t *order)
 
void grasp_mpi_engine_delete_result (result_t *result)
 
void grasp_mpi_engine_get_order_label (const order_t *order, size_t label_max_size, char *label)
 
void grasp_mpi_engine_get_result_labbel (const result_t *result, size_t label_max_size, char *label)
 
void * grasp_mpi_engine_get_order_payload (const order_t *order)
 
void * grasp_mpi_engine_get_result_payload (const result_t *result)
 
void grasp_mpi_engine_set_debug_level (int debug_level)
 
bool grasp_mpi_engine_is_master (void)
 
bool grasp_mpi_engine_is_worker (void)
 
int grasp_mpi_engine_main_loop (const void *master_info, const void *worker_info)
 
void grasp_mpi_engine_set_polling_time (int polling_time)
 
void grasp_mpi_engine_set_maximum_job_time (int maximum_job_time)
 
order_tgrasp_mpi_engine_dummy_order_callback (int worker_rank, const void *master_info, bool *no_more_order, int *num_orders)
 
result_tgrasp_mpi_engine_dummy_task_callback (const order_t *order, const void *worker_info)
 
bool grasp_mpi_engine_dummy_termination_condition_callback (int num_results_received, const void *master_info)
 

Typedef Documentation

◆ collect_callback_t

typedef int(* collect_callback_t) (const result_t *result, const void *master_info)

◆ order_callback_t

typedef order_t*(* order_callback_t) (int worker_rank, const void *master_info, bool *no_more_order, int *num_orders)

◆ order_t

typedef struct order_t_ order_t

◆ progress_info_callback_t

typedef void(* progress_info_callback_t) (int num_orders_performed, const result_t *result, const void *master_info)

◆ result_t

typedef struct result_t_ result_t

◆ task_callback_t

typedef result_t*(* task_callback_t) (const order_t *order, const void *worker_info)

Function Documentation

◆ grasp_mpi_engine_delete_order()

void grasp_mpi_engine_delete_order ( order_t order)

◆ grasp_mpi_engine_delete_result()

void grasp_mpi_engine_delete_result ( result_t result)

◆ grasp_mpi_engine_dummy_order_callback()

order_t* grasp_mpi_engine_dummy_order_callback ( int  worker_rank,
const void *  master_info,
bool *  no_more_order,
int *  num_orders 
)

◆ grasp_mpi_engine_dummy_task_callback()

result_t* grasp_mpi_engine_dummy_task_callback ( const order_t order,
const void *  worker_info 
)

◆ grasp_mpi_engine_dummy_termination_condition_callback()

bool grasp_mpi_engine_dummy_termination_condition_callback ( int  num_results_received,
const void *  master_info 
)

◆ grasp_mpi_engine_get_order_label()

void grasp_mpi_engine_get_order_label ( const order_t order,
size_t  label_max_size,
char *  label 
)

◆ grasp_mpi_engine_get_order_payload()

void* grasp_mpi_engine_get_order_payload ( const order_t order)

◆ grasp_mpi_engine_get_result_labbel()

void grasp_mpi_engine_get_result_labbel ( const result_t result,
size_t  label_max_size,
char *  label 
)

◆ grasp_mpi_engine_get_result_payload()

void* grasp_mpi_engine_get_result_payload ( const result_t result)

◆ grasp_mpi_engine_is_master()

bool grasp_mpi_engine_is_master ( void  )

◆ grasp_mpi_engine_is_worker()

bool grasp_mpi_engine_is_worker ( void  )

◆ grasp_mpi_engine_main_loop()

int grasp_mpi_engine_main_loop ( const void *  master_info,
const void *  worker_info 
)

◆ grasp_mpi_engine_new_order()

order_t* grasp_mpi_engine_new_order ( const char *  label,
size_t  payload_size,
const void *  payload 
)

◆ grasp_mpi_engine_new_result()

result_t* grasp_mpi_engine_new_result ( const char *  label,
size_t  payload_size,
const void *  payload 
)

◆ grasp_mpi_engine_set_appname()

void grasp_mpi_engine_set_appname ( const char *  appname)

◆ grasp_mpi_engine_set_collect_callback()

void grasp_mpi_engine_set_collect_callback ( collect_callback_t  collect_callback)

◆ grasp_mpi_engine_set_debug_level()

void grasp_mpi_engine_set_debug_level ( int  debug_level)

◆ grasp_mpi_engine_set_maximum_job_time()

void grasp_mpi_engine_set_maximum_job_time ( int  maximum_job_time)

◆ grasp_mpi_engine_set_order_callback()

void grasp_mpi_engine_set_order_callback ( order_callback_t  order_callback,
int  order_payload_max_size 
)

◆ grasp_mpi_engine_set_polling_time()

void grasp_mpi_engine_set_polling_time ( int  polling_time)

◆ grasp_mpi_engine_set_progress_info_callback()

void grasp_mpi_engine_set_progress_info_callback ( progress_info_callback_t  progress_info_callback)

◆ grasp_mpi_engine_set_task_callback()

void grasp_mpi_engine_set_task_callback ( task_callback_t  task_callback,
int  result_payload_max_size 
)