Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <ctr_tsr.h>
Public Member Functions | |
void | run (char *A, char *B, char *C) |
wraps user sequential function signature More... | |
void | print () |
int64_t | mem_fp () |
double | est_fp () |
uint64_t | est_membw () |
double | est_time_rec (int nlyr) |
double | est_time_fp (int nlyr) |
ctr * | clone () |
seq_tsr_ctr (ctr *other) | |
clones ctr object More... | |
~seq_tsr_ctr () | |
seq_tsr_ctr (contraction const *c, bool is_inner, iparam const *inner_params, int *virt_blk_len_A, int *virt_blk_len_B, int *virt_blk_len_C, int64_t vrt_sz_C) | |
Public Member Functions inherited from CTF_int::ctr | |
virtual int64_t | mem_rec () |
virtual | ~ctr () |
deallocates generic ctr object More... | |
ctr (ctr *other) | |
copies generic ctr object More... | |
ctr (contraction const *c) | |
main constructor, defines variable based on contraction class More... | |
Data Fields | |
char const * | alpha |
int | order_A |
int * | edge_len_A |
int const * | idx_map_A |
int * | sym_A |
int | order_B |
int * | edge_len_B |
int const * | idx_map_B |
int * | sym_B |
int | order_C |
int * | edge_len_C |
int const * | idx_map_C |
int * | sym_C |
int | is_inner |
iparam | inner_params |
int | is_custom |
bivar_function const * | func |
Data Fields inherited from CTF_int::ctr | |
algstrct const * | sr_A |
algstrct const * | sr_B |
algstrct const * | sr_C |
char const * | beta |
int | num_lyr |
int | idx_lyr |
CTF_int::seq_tsr_ctr::seq_tsr_ctr | ( | ctr * | other | ) |
clones ctr object
[in] | other | object to clone |
Definition at line 354 of file ctr_tsr.cxx.
References CTF_int::alloc(), alpha, edge_len_A, edge_len_B, edge_len_C, func, idx_map_A, idx_map_B, idx_map_C, inner_params, is_custom, is_inner, order_A, order_B, order_C, sym_A, sym_B, and sym_C.
Referenced by clone().
|
inline |
Definition at line 127 of file ctr_tsr.h.
References CTF_int::cdealloc(), CTF_int::inv_idx(), CTF_int::ctr_virt::order_A, CTF_int::ctr_virt::order_B, and CTF_int::ctr_virt::order_C.
CTF_int::seq_tsr_ctr::seq_tsr_ctr | ( | contraction const * | c, |
bool | is_inner, | ||
iparam const * | inner_params, | ||
int * | virt_blk_len_A, | ||
int * | virt_blk_len_B, | ||
int * | virt_blk_len_C, | ||
int64_t | vrt_sz_C | ||
) |
Definition at line 228 of file ctr_tsr.cxx.
References CTF_int::contraction::A, CTF_int::alloc_ptr(), CTF_int::contraction::alpha, alpha, CTF_int::contraction::B, CTF_int::contraction::C, CTF::World::cdt, DPRINTF, edge_len_A, edge_len_B, edge_len_C, CTF_int::contraction::func, func, CTF_int::contraction::idx_A, CTF_int::contraction::idx_B, CTF_int::contraction::idx_C, idx_map_A, idx_map_B, idx_map_C, CTF_int::tensor::inner_ordering, inner_params, CTF_int::contraction::is_custom, is_custom, CTF_int::iparam::k, CTF_int::iparam::l, CTF_int::iparam::m, CTF_int::iparam::n, NS, CTF_int::tensor::order, order_A, order_B, order_C, CTF_int::CommData::rank, CTF_int::tensor::rec_tsr, CTF_int::tensor::sym, sym_A, sym_B, sym_C, CTF_int::iparam::sz_C, and CTF_int::tensor::wrld.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 385 of file ctr_tsr.cxx.
References seq_tsr_ctr().
double CTF_int::seq_tsr_ctr::est_fp | ( | ) |
Definition at line 413 of file ctr_tsr.cxx.
References ASSERT, CTF_int::cdealloc(), edge_len_A, edge_len_B, edge_len_C, idx_map_A, idx_map_B, idx_map_C, inner_params, CTF_int::inv_idx(), is_inner, CTF_int::iparam::k, CTF_int::iparam::m, CTF_int::iparam::n, order_A, order_B, and order_C.
Referenced by est_time_fp(), and run().
uint64_t CTF_int::seq_tsr_ctr::est_membw | ( | ) |
Definition at line 399 of file ctr_tsr.cxx.
References ASSERT, edge_len_A, edge_len_B, edge_len_C, CTF_int::accumulatable::el_size, inner_params, is_inner, CTF_int::iparam::k, CTF_int::iparam::m, CTF_int::iparam::n, order_A, order_B, order_C, CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, CTF_int::ctr::sr_C, CTF_int::sy_packed_size(), sym_A, sym_B, and sym_C.
Referenced by est_time_fp(), and run().
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 436 of file ctr_tsr.cxx.
References est_fp(), est_membw(), CTF_int::LinModel< nparam >::est_time(), inner_params, is_custom, is_inner, and CTF_int::iparam::offload.
Referenced by est_time_rec().
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 460 of file ctr_tsr.cxx.
References est_time_fp().
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 389 of file ctr_tsr.cxx.
References CTF_int::seq_tsr_ctr_mdl_cst, CTF_int::seq_tsr_ctr_mdl_cst_init, CTF_int::seq_tsr_ctr_mdl_cst_inr, CTF_int::seq_tsr_ctr_mdl_cst_inr_init, CTF_int::seq_tsr_ctr_mdl_cst_off, CTF_int::seq_tsr_ctr_mdl_cst_off_init, CTF_int::seq_tsr_ctr_mdl_inr, CTF_int::seq_tsr_ctr_mdl_inr_init, CTF_int::seq_tsr_ctr_mdl_off, CTF_int::seq_tsr_ctr_mdl_off_init, CTF_int::seq_tsr_ctr_mdl_ref, and CTF_int::seq_tsr_ctr_mdl_ref_init.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 337 of file ctr_tsr.cxx.
References edge_len_A, edge_len_B, edge_len_C, inner_params, is_inner, CTF_int::iparam::k, CTF_int::iparam::l, CTF_int::iparam::m, CTF_int::iparam::n, order_A, order_B, and order_C.
|
virtual |
wraps user sequential function signature
Reimplemented from CTF_int::ctr.
Definition at line 464 of file ctr_tsr.cxx.
References alpha, ASSERT, CTF_int::ctr::beta, edge_len_A, edge_len_B, edge_len_C, est_fp(), est_membw(), func, CTF_int::ctr::idx_lyr, idx_map_A, idx_map_B, idx_map_C, inner_params, is_custom, is_inner, CTF_int::ctr::num_lyr, CTF_int::LinModel< nparam >::observe(), CTF_int::iparam::offload, order_A, order_B, order_C, CTF_int::LinModel< nparam >::should_observe(), CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, CTF_int::ctr::sr_C, sym_A, sym_B, sym_C, CTF_int::sym_seq_ctr_cust(), CTF_int::sym_seq_ctr_inr(), and CTF_int::sym_seq_ctr_ref().
char const* CTF_int::seq_tsr_ctr::alpha |
Definition at line 89 of file ctr_tsr.h.
Referenced by run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::edge_len_A |
Definition at line 91 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), print(), run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::edge_len_B |
Definition at line 95 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), print(), run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::edge_len_C |
Definition at line 99 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), print(), run(), and seq_tsr_ctr().
bivar_function const* CTF_int::seq_tsr_ctr::func |
Definition at line 108 of file ctr_tsr.h.
Referenced by run(), and seq_tsr_ctr().
int const* CTF_int::seq_tsr_ctr::idx_map_A |
Definition at line 92 of file ctr_tsr.h.
Referenced by est_fp(), run(), and seq_tsr_ctr().
int const* CTF_int::seq_tsr_ctr::idx_map_B |
Definition at line 96 of file ctr_tsr.h.
Referenced by est_fp(), run(), and seq_tsr_ctr().
int const* CTF_int::seq_tsr_ctr::idx_map_C |
Definition at line 100 of file ctr_tsr.h.
Referenced by est_fp(), run(), and seq_tsr_ctr().
iparam CTF_int::seq_tsr_ctr::inner_params |
Definition at line 105 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), est_time_fp(), print(), run(), and seq_tsr_ctr().
int CTF_int::seq_tsr_ctr::is_custom |
Definition at line 107 of file ctr_tsr.h.
Referenced by est_time_fp(), run(), and seq_tsr_ctr().
int CTF_int::seq_tsr_ctr::is_inner |
Definition at line 104 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), est_time_fp(), print(), run(), and seq_tsr_ctr().
int CTF_int::seq_tsr_ctr::order_A |
Definition at line 90 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), CTF_int::inv_idx(), print(), run(), and seq_tsr_ctr().
int CTF_int::seq_tsr_ctr::order_B |
Definition at line 94 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), CTF_int::inv_idx(), print(), run(), and seq_tsr_ctr().
int CTF_int::seq_tsr_ctr::order_C |
Definition at line 98 of file ctr_tsr.h.
Referenced by est_fp(), est_membw(), CTF_int::inv_idx(), print(), run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::sym_A |
Definition at line 93 of file ctr_tsr.h.
Referenced by est_membw(), run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::sym_B |
Definition at line 97 of file ctr_tsr.h.
Referenced by est_membw(), run(), and seq_tsr_ctr().
int* CTF_int::seq_tsr_ctr::sym_C |
Definition at line 101 of file ctr_tsr.h.
Referenced by est_membw(), run(), and seq_tsr_ctr().