Analysis¶
Functions
-
void *PDC_Server_get_region_data_ptr(pdcid_t object_id)¶
-
static int iterator_init(pdcid_t objectId, pdcid_t reg_id, int blocks, struct _pdc_iterator_info *iter)¶
-
pdcid_t PDCobj_data_block_iterator_create(pdcid_t obj_id, pdcid_t reg_id, int contig_blocks)¶
Create a PDC block iterator (general form)
- Parameters:
obj_id – [IN] PDC object ID
reg_id – [IN] PDC region ID
contig_blocks – [IN] How many rows or columns the iterator should return
- Returns:
Iterator id on success/Zero on failure
-
pdcid_t PDCobj_data_iter_create(pdcid_t obj_id, pdcid_t reg_id)¶
Create a PDC iterator (basic form which internally calls the block version with contig_blocks = 1)
- Parameters:
obj_id – [IN] PDC object ID
reg_id – [IN] PDC region ID
- Returns:
Iterator id on success/Zero on failure
-
char *PDC_get_argv0_()¶
- Returns:
****
-
char *PDC_get_realpath(char *fname, char *app_path)¶
- Parameters:
fname – [IN] Path of working directory
app_path – [IN] Name of the application
- Returns:
****
-
perr_t PDCobj_analysis_register(char *func, pdcid_t iterIn, pdcid_t iterOut)¶
Register a function to be invoked at registration time and/or when data buffers referenced by the input iterator is modified.
- Parameters:
func – [IN] String containing the [libraryname:]function to be registered. (default library name = “libpdcanalysis”)
iterIn – [IN] PDC iterator id containing the input data (may be a NULL iterator == 0).
dims – [IN] PDC iterator id containing the output data (may be a NULL iterator == 0).
- Returns:
Non-negative on success/Negative on failure NOTES: In the use case where null iterators are supplied, the function will always be invoked on the data server. Because there are no data references, the supplied function will only be called at registration time. This can be used to invoke special functions such as the reading of data from files (HDF5, etc.) or to start monitoring or timing functions. One could for example provide an API to start or stop profilers, take data snapshots, etc.
-
size_t PDCobj_data_getSliceCount(pdcid_t iter)¶
- Parameters:
iter – [IN] The number iteration
- Returns:
********
-
size_t PDCobj_data_getNextBlock(pdcid_t iter, void **nextBlock, size_t *dims)¶
Use a PDC data iterator to retrieve object data for PDC in-locus Analysis.
- Parameters:
iter – [IN] PDC iterator id
nextBlock – [OUT] Pointer to a contiguous block of memory that contains object data
dims – [IN/OUT] A pointer to an array (2D) of rows/columns
- Returns:
Total number of elements contained by the datablock.
-
perr_t PDC_analysis_end()¶
- Returns:
Non-negative on success/Negative on failure
-
perr_t PDC_iterator_end()¶
- Returns:
Non-negative on success/Negative on failure
Variables
-
static char *default_pdc_analysis_lib = "libpdcanalysis.so"¶
Functions
-
static inline int compare_gt(int *a, int b)¶
- perr_t PDC_Server_instantiate_data_iterator (obj_data_iterator_in_t *in ATTRIBUTE(unused), obj_data_iterator_out_t *out ATTRIBUTE(unused))
- void * PDC_Server_get_ftn_reference (char *ftn ATTRIBUTE(unused))
- int PDC_get_analysis_registry (struct _pdc_region_analysis_ftn_info ***registry ATTRIBUTE(unused))
-
static int pdc_analysis_registry_init_(size_t newSize)¶
-
static int pdc_transform_registry_init_(size_t newSize)¶
-
int pdc_analysis_registry_finalize_()¶
- int check_analysis (pdc_obj_transform_t op_type ATTRIBUTE(unused), struct pdc_region_info *dest_region)
-
int PDC_add_analysis_ptr_to_registry_(struct _pdc_region_analysis_ftn_info *ftn_infoPtr)¶
- Parameters:
ftn_infoPtr – [IN] *********
- Returns:
*****
-
int PDCiter_get_nextId(void)¶
- Returns:
****
-
int PDC_check_transform(pdc_obj_transform_t op_type, struct pdc_region_info *dest_region)¶
- Parameters:
op_type – [IN] The type of transformation
dest_region – [IN] The struct pointing to destination region
- Returns:
********
-
int PDC_get_transforms(struct _pdc_region_transform_ftn_info ***registry)¶
- Parameters:
registry – [IN] *******
- Returns:
******
-
int PDC_add_transform_ptr_to_registry_(struct _pdc_region_transform_ftn_info *ftn_infoPtr)¶
- Parameters:
op_type – [IN] ***********
- Returns:
********
-
int PDC_update_transform_server_meta_index(int client_index, int meta_index)¶
- Parameters:
client_index – [IN] The index of the client
meta_index – [IN] *************
- Returns:
-
void PDC_set_execution_locus(_pdc_loci_t locus_identifier)¶
- Parameters:
locus_identifier – [IN] **********
-
_pdc_loci_t PDC_get_execution_locus()¶
- Returns:
-
int PDC_get_ftnPtr_(const char *ftn, const char *loadpath, void **ftnPtr)¶
- Parameters:
ftn – [IN] *******
loadpath – [IN] *******
ftnPtr – [IN] *******
- Returns:
*****
-
HG_TEST_RPC_CB(analysis_ftn, handle)¶
-
HG_TEST_RPC_CB(obj_data_iterator, handle)¶
-
HG_TEST_THREAD_CB(obj_data_iterator)¶
-
hg_id_t PDC_obj_data_iterator_register(hg_class_t *hg_class)¶
-
void PDC_free_analysis_registry()¶
-
void PDC_free_transform_registry()¶
-
void PDC_free_iterator_cache()¶
Variables
-
size_t analysis_registry_size = 0¶
-
size_t transform_registry_size = 0¶
-
hg_atomic_int32_t registered_transform_ftn_count_g¶
-
int *i_cache_freed = NULL¶
-
size_t iterator_cache_entries = CACHE_SIZE¶
-
hg_atomic_int32_t i_cache_index¶
-
hg_atomic_int32_t i_free_index¶
-
_pdc_loci_t execution_locus = UNKNOWN¶
-
hg_thread_pool_t *hg_test_thread_pool_g¶
-
hg_thread_pool_t *hg_test_thread_pool_fs_g¶
-
struct _pdc_region_analysis_ftn_info **pdc_region_analysis_registry = NULL¶
-
struct _pdc_region_transform_ftn_info **pdc_region_transform_registry = NULL¶
Functions
-
static hg_return_t client_register_iterator_rpc_cb(const struct hg_cb_info *info)¶
-
static hg_return_t client_register_analysis_rpc_cb(const struct hg_cb_info *info)¶
-
static hg_return_t client_register_transform_rpc_cb(const struct hg_cb_info *info)¶
-
perr_t PDC_free_obj_info(struct _pdc_obj_info *obj)¶
-
perr_t PDC_Client_send_iter_recv_id(pdcid_t iter_id, pdcid_t *meta_id)¶
Registers an iterator.
- Parameters:
iter_id – [IN] The ID of iteration
meta_id – [OUT] Metadata ID
- Returns:
Non-negative on success/Negative on failure
-
perr_t PDC_Client_register_obj_analysis(struct _pdc_region_analysis_ftn_info *thisFtn, const char *func, const char *loadpath, pdcid_t in_local, pdcid_t out_local, pdcid_t in_meta, pdcid_t out_meta)¶
- Parameters:
iterthisFtn_id – [IN] *****
func – [IN] *****
loadpath – [IN] *****
in_local – [IN] *****
out_local – [OUT] *****
in_meta – [IN] *****
out_meta – [OUT] *****
- Returns:
Non-negative on success/Negative on failure
- perr_t PDC_Client_register_region_transform (const char *func, const char *loadpath, pdcid_t src_region_id ATTRIBUTE(unused), pdcid_t dest_region_id, pdcid_t obj_id, int start_state, int next_state, int op_type, int when, int client_index)
- Parameters:
func – [IN] Name of the function
loadpath – [IN] Name of the path
src_region_id – [IN] ID of source region
dest_region_id – [IN] ID of destination region
obj_id – [IN] ID of the object
start_state – [IN] Start start
next_state – [IN] Next state
op_type – [IN] Operation type
when – [IN] When to start transformation
client_index – [IN] Client index
- Returns:
Non-negative on success/Negative on failure
Variables
-
static hg_context_t *send_context_g = NULL¶
-
static hg_atomic_int32_t *atomic_work_todo_g = NULL¶
-
hg_id_t analysis_ftn_register_id_g¶
-
hg_id_t transform_ftn_register_id_g¶
-
hg_id_t server_transform_ftn_register_id_g¶
-
hg_id_t object_data_iterator_register_id_g¶
Functions
-
perr_t PDC_sample_min_max(pdc_var_type_t dtype, uint64_t n, void *data, double sample_pct, double *min, double *max)¶
- Parameters:
dtype – [IN] Data type
n – [IN] *******
data – [IN] *******
sample_pct – [IN] *******
min – [IN] *******
max – [IN] *******
- Returns:
Non-negative on success/Negative on failure
-
double ceil_power_of_2(double number)¶
-
double floor_power_of_2(double number)¶
-
pdc_histogram_t *PDC_create_hist(pdc_var_type_t dtype, int nbin, double min, double max)¶
Insert the metdata received from client to the hash table.
- Parameters:
dtype – [IN] Data type
nbin – [IN] ********
min – [IN] *******
max – [IN] *******
- Returns:
********
-
perr_t PDC_hist_incr_all(pdc_histogram_t *hist, pdc_var_type_t dtype, uint64_t n, void *data)¶
Insert the metdata received from client to the hash table.
- Parameters:
hist – [IN] ********
dtype – [IN] Data type
n – [IN] ********
data – [IN] ********
- Returns:
Non-negative on success/Negative on failure
-
pdc_histogram_t *PDC_gen_hist(pdc_var_type_t dtype, uint64_t n, void *data)¶
- Parameters:
obj_name – [IN] Data type
n – [IN] *******
data – [IN] *******
- Returns:
********
-
void PDC_free_hist(pdc_histogram_t *hist)¶
- Parameters:
hist – [IN] ********
-
void PDC_print_hist(pdc_histogram_t *hist)¶
- Parameters:
hist – [IN] ********
-
pdc_histogram_t *PDC_dup_hist(pdc_histogram_t *hist)¶
- Parameters:
hist – [IN] ********
- Returns:
********
-
pdc_histogram_t *PDC_merge_hist(int n, pdc_histogram_t **hists)¶
- Parameters:
n – [IN] ********
hist – [IN] ********
- Returns:
********
-
void PDC_copy_hist(pdc_histogram_t *to, pdc_histogram_t *from)¶
- Parameters:
to – [IN] ********
hist – [IN] ********