Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <spctr_tsr.h>
Public Member Functions | |
void | run (char *A, int nblk_A, int64_t const *size_blk_A, char *B, int nblk_B, int64_t const *size_blk_B, char *C, int nblk_C, int64_t *size_blk_C, char *&new_C) |
void | print () |
int64_t | spmem_fp (double nnz_frac_A, double nnz_frac_B, double nnz_frac_C) |
int64_t | spmem_rec (double nnz_frac_A, double nnz_frac_B, double nnz_frac_C) |
returns the number of bytes need by each processor in this kernel and its recursive calls More... | |
spctr * | clone () |
double | est_time_fp (int nlyr, double nnz_frac_A, double nnz_frac_B, double nnz_frac_C) |
returns the execution time the local part this kernel is estimated to take More... | |
double | est_time_rec (int nlyr, double nnz_frac_A, double nnz_frac_B, double nnz_frac_C) |
returns the execution time this kernel and its recursive calls are estimated to take More... | |
spctr_pin_keys (spctr *other) | |
~spctr_pin_keys () | |
spctr_pin_keys (contraction const *s, int AxBxC) | |
Public Member Functions inherited from CTF_int::spctr | |
~spctr () | |
spctr (spctr *other) | |
double | est_time_fp (int nlyr) |
double | est_time_rec (int nlyr) |
void | run (char *A, char *B, char *C) |
spctr (contraction const *c) | |
Public Member Functions inherited from CTF_int::ctr | |
virtual int64_t | mem_fp () |
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 | |
spctr * | rec_ctr |
int | AxBxC |
int | order |
int const * | lens |
int * | divisor |
int * | virt_dim |
int * | phys_rank |
int64_t | dns_blk_sz |
Data Fields inherited from CTF_int::spctr | |
bool | is_sparse_A |
bool | is_sparse_B |
bool | is_sparse_C |
char * | new_C |
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 |
Definition at line 164 of file spctr_tsr.h.
CTF_int::spctr_pin_keys::spctr_pin_keys | ( | spctr * | other | ) |
Definition at line 876 of file spctr_tsr.cxx.
References CTF_int::alloc(), AxBxC, CTF_int::spctr::clone(), divisor, lens, order, phys_rank, rec_ctr, and virt_dim.
Referenced by clone().
CTF_int::spctr_pin_keys::~spctr_pin_keys | ( | ) |
Definition at line 869 of file spctr_tsr.cxx.
References CTF_int::cdealloc(), CTF_int::spctr_virt::rec_ctr, and CTF_int::spctr_virt::virt_dim.
CTF_int::spctr_pin_keys::spctr_pin_keys | ( | contraction const * | s, |
int | AxBxC | ||
) |
Definition at line 934 of file spctr_tsr.cxx.
References CTF_int::contraction::A, CTF_int::alloc(), AxBxC, CTF_int::contraction::B, CTF_int::contraction::C, CTF_int::mapping::calc_phase(), CTF_int::mapping::calc_phys_phase(), CTF_int::mapping::calc_phys_rank(), divisor, dns_blk_sz, CTF_int::tensor::edge_map, CTF_int::tensor::lens, lens, CTF_int::tensor::order, order, phys_rank, CTF_int::pin_keys_mdl, CTF_int::pin_keys_mdl_init, CTF_int::tensor::size, CTF_int::tensor::topo, and virt_dim.
|
virtual |
Reimplemented from CTF_int::spctr.
Definition at line 891 of file spctr_tsr.cxx.
References spctr_pin_keys().
|
virtual |
returns the execution time the local part this kernel is estimated to take
[in] | nlyr | amount of replication |
[in] | nnz_frac_A | percentage of nonzeros in tensor A |
[in] | nnz_frac_B | percentage of nonzeros in tensor B |
[in] | nnz_frac_C | percentage of nonzeros in tensor C |
Reimplemented from CTF_int::spctr.
Definition at line 967 of file spctr_tsr.cxx.
References AxBxC, dns_blk_sz, and CTF_int::LinModel< nparam >::est_time().
Referenced by est_time_rec().
|
virtual |
returns the execution time this kernel and its recursive calls are estimated to take
[in] | nlyr | amount of replication |
[in] | nnz_frac_A | percentage of nonzeros in tensor A |
[in] | nnz_frac_B | percentage of nonzeros in tensor B |
[in] | nnz_frac_C | percentage of nonzeros in tensor C |
Reimplemented from CTF_int::spctr.
Definition at line 988 of file spctr_tsr.cxx.
References est_time_fp(), CTF_int::spctr::est_time_rec(), and rec_ctr.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 895 of file spctr_tsr.cxx.
References AxBxC, CTF_int::ctr::print(), and rec_ctr.
|
virtual |
Reimplemented from CTF_int::spctr.
Definition at line 992 of file spctr_tsr.cxx.
References ASSERT, AxBxC, CTF_int::cdealloc(), CTF_int::depin(), divisor, lens, CTF_int::mst_alloc_ptr(), CTF_int::LinModel< nparam >::observe(), order, CTF_int::algstrct::pair_size(), phys_rank, CTF_int::ConstPairIterator::pin(), rec_ctr, CTF_int::spctr::run(), CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, CTF_int::ctr::sr_C, TAU_FSTART, TAU_FSTOP, and virt_dim.
int64_t CTF_int::spctr_pin_keys::spmem_fp | ( | double | nnz_frac_A, |
double | nnz_frac_B, | ||
double | nnz_frac_C | ||
) |
Definition at line 911 of file spctr_tsr.cxx.
References AxBxC, dns_blk_sz, CTF_int::algstrct::pair_size(), CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, and CTF_int::ctr::sr_C.
Referenced by spmem_rec().
|
virtual |
returns the number of bytes need by each processor in this kernel and its recursive calls
Reimplemented from CTF_int::spctr.
Definition at line 930 of file spctr_tsr.cxx.
References rec_ctr, spmem_fp(), and CTF_int::spctr::spmem_rec().
int CTF_int::spctr_pin_keys::AxBxC |
Definition at line 167 of file spctr_tsr.h.
Referenced by est_time_fp(), print(), run(), spctr_pin_keys(), and spmem_fp().
int* CTF_int::spctr_pin_keys::divisor |
Definition at line 170 of file spctr_tsr.h.
Referenced by run(), and spctr_pin_keys().
int64_t CTF_int::spctr_pin_keys::dns_blk_sz |
Definition at line 173 of file spctr_tsr.h.
Referenced by est_time_fp(), spctr_pin_keys(), and spmem_fp().
int const* CTF_int::spctr_pin_keys::lens |
Definition at line 169 of file spctr_tsr.h.
Referenced by run(), and spctr_pin_keys().
int CTF_int::spctr_pin_keys::order |
Definition at line 168 of file spctr_tsr.h.
Referenced by ctf.core.tensor::__get__(), ctf.core.tensor::__getitem__(), ctf.core.tensor::__setitem__(), ctf.core.tensor::i(), ctf.core.tensor::permute(), run(), spctr_pin_keys(), and ctf.core.tensor::transpose().
int* CTF_int::spctr_pin_keys::phys_rank |
Definition at line 172 of file spctr_tsr.h.
Referenced by run(), and spctr_pin_keys().
spctr* CTF_int::spctr_pin_keys::rec_ctr |
Definition at line 166 of file spctr_tsr.h.
Referenced by est_time_rec(), CTF_int::get_len_ordering(), print(), run(), spctr_pin_keys(), and spmem_rec().
int* CTF_int::spctr_pin_keys::virt_dim |
Definition at line 171 of file spctr_tsr.h.
Referenced by run(), and spctr_pin_keys().