next up previous contents
Next: Data checkpointing with DAGDA Up: Asynchronous data transfers Previous: DAGDA asynchronous put macros/functions   Contents

DAGDA asynchronous get macros/functions

The only argument needed for one of these functions is the data ID. All of these functions return a reference to the data transfer which is an unsigned int. This value will be passed to the corresponding ``dagda_wait_*'' functions described later.
-
dagda_get_scalar_async(char* ID)
-
dagda_get_vector_async(char* ID)
-
dagda_get_matrix_async(char* ID)
-
dagda_get_string_async(char* ID)
-
dagda_get_file_async(char* ID)

After asking for an asynchronous transfer, the user has to wait the end by calling the corresponding ``dagda_wait_*'' function. The arguments of these functions are the same than for the synchronous ``dagda_get_*'' functions. See Section 14.4.2 for more details.

-
dagda_wait_scalar(unsigned int transferRef, void** value,
diet_base_type_t* base_type)
-
dagda_wait_vector(unsigned int transferRef, void** value,
diet_base_type_t* base_type, size_t* size)
-
dagda_wait_matrix(unsigned int transferRef, void** value,
diet_base_type_t* base_type, size_t* nb_r,
size_t* nb_c, diet_matrix_order_t* order)
-
dagda_wait_string(unsigned int transferRef, char** value)
-
dagda_wait_file(unsigned int transferRef, char** path)

A plugin scheduler developer often wants to make an asynchronous data transfer to the local DIET node. Problems can arise if you want to wait the completion of the tranfer before returning. But with the previously defined functions, DAGDA maintains a reference to the transfer thread which will be released after a call to the waiting function. To avoid DAGDA to keep infinitely these references, the user should call the ``dagda_load_*'' functions instead of the ``dagda_get_*_async'' ones.

-
dagda_load_scalar(char* ID)
-
dagda_load_vector(char* ID)
-
dagda_load_matrix(char* ID)
-
dagda_load_string(char* ID)
-
dagda_load_file(char* ID)


next up previous contents
Next: Data checkpointing with DAGDA Up: Asynchronous data transfers Previous: DAGDA asynchronous put macros/functions   Contents
The DIET Team - Ven 18 nov 2011 18:13:39 PST