Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <spctr_tsr.h>
Public Member Functions | |
~spctr () | |
spctr (spctr *other) | |
virtual spctr * | clone () |
virtual 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_fp (int nlyr) |
virtual 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... | |
double | est_time_rec (int nlyr) |
virtual 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... | |
void | run (char *A, char *B, char *C) |
virtual 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) |
spctr (contraction const *c) | |
Public Member Functions inherited from CTF_int::ctr | |
virtual void | print () |
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 | |
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 10 of file spctr_tsr.h.
CTF_int::spctr::~spctr | ( | ) |
Definition at line 27 of file spctr_tsr.cxx.
CTF_int::spctr::spctr | ( | spctr * | other | ) |
Definition at line 20 of file spctr_tsr.cxx.
References is_sparse_A, is_sparse_B, and is_sparse_C.
Referenced by run().
CTF_int::spctr::spctr | ( | contraction const * | c | ) |
Definition at line 13 of file spctr_tsr.cxx.
References CTF_int::contraction::A, CTF_int::contraction::B, CTF_int::contraction::C, CTF_int::tensor::is_sparse, is_sparse_A, is_sparse_B, and is_sparse_C.
|
inlinevirtual |
Reimplemented from CTF_int::ctr.
Reimplemented in CTF_int::spctr_pin_keys, CTF_int::spctr_virt, CTF_int::spctr_2d_general, CTF_int::seq_tsr_spctr, and CTF_int::spctr_replicate.
Definition at line 19 of file spctr_tsr.h.
Referenced by CTF_int::spctr_virt::run(), CTF_int::spctr_2d_general::spctr_2d_general(), CTF_int::spctr_pin_keys::spctr_pin_keys(), CTF_int::spctr_replicate::spctr_replicate(), and CTF_int::spctr_virt::spctr_virt().
|
inlinevirtual |
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 in CTF_int::spctr_pin_keys, CTF_int::spctr_2d_general, CTF_int::seq_tsr_spctr, and CTF_int::spctr_replicate.
Definition at line 29 of file spctr_tsr.h.
|
inlinevirtual |
Reimplemented from CTF_int::ctr.
Definition at line 30 of file spctr_tsr.h.
References est_time_fp().
Referenced by est_time_fp().
|
inlinevirtual |
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 in CTF_int::spctr_pin_keys, CTF_int::spctr_virt, CTF_int::spctr_2d_general, CTF_int::seq_tsr_spctr, and CTF_int::spctr_replicate.
Definition at line 39 of file spctr_tsr.h.
Referenced by CTF_int::spctr_replicate::est_time_rec(), CTF_int::spctr_2d_general::est_time_rec(), CTF_int::spctr_virt::est_time_rec(), and CTF_int::spctr_pin_keys::est_time_rec().
|
inlinevirtual |
Reimplemented from CTF_int::ctr.
Definition at line 40 of file spctr_tsr.h.
References est_time_rec().
Referenced by est_time_rec().
|
inlinevirtual |
Reimplemented from CTF_int::ctr.
Definition at line 48 of file spctr_tsr.h.
Referenced by CTF_int::spctr_replicate::run(), CTF_int::spctr_2d_general::run(), CTF_int::spctr_virt::run(), and CTF_int::spctr_pin_keys::run().
|
inlinevirtual |
Reimplemented in CTF_int::spctr_pin_keys, CTF_int::spctr_virt, CTF_int::spctr_2d_general, CTF_int::seq_tsr_spctr, and CTF_int::spctr_replicate.
Definition at line 49 of file spctr_tsr.h.
|
inlinevirtual |
returns the number of bytes need by each processor in this kernel and its recursive calls
Reimplemented in CTF_int::spctr_pin_keys, CTF_int::spctr_virt, CTF_int::spctr_2d_general, and CTF_int::spctr_replicate.
Definition at line 45 of file spctr_tsr.h.
Referenced by CTF_int::spctr_replicate::spmem_rec(), CTF_int::spctr_2d_general::spmem_rec(), CTF_int::spctr_virt::spmem_rec(), and CTF_int::spctr_pin_keys::spmem_rec().
bool CTF_int::spctr::is_sparse_A |
Definition at line 12 of file spctr_tsr.h.
Referenced by CTF_int::seq_tsr_spctr::est_fp(), CTF_int::seq_tsr_spctr::est_membw(), CTF_int::spctr_replicate::est_time_fp(), CTF_int::spctr_2d_general::est_time_fp(), CTF_int::spctr_replicate::run(), CTF_int::seq_tsr_spctr::run(), CTF_int::spctr_2d_general::run(), CTF_int::spctr_virt::run(), spctr(), CTF_int::spctr_replicate::spmem_fp(), and CTF_int::spctr_2d_general::spmem_fp().
bool CTF_int::spctr::is_sparse_B |
Definition at line 13 of file spctr_tsr.h.
Referenced by CTF_int::seq_tsr_spctr::est_fp(), CTF_int::seq_tsr_spctr::est_membw(), CTF_int::spctr_replicate::est_time_fp(), CTF_int::spctr_2d_general::est_time_fp(), CTF_int::spctr_replicate::run(), CTF_int::seq_tsr_spctr::run(), CTF_int::spctr_2d_general::run(), CTF_int::spctr_virt::run(), spctr(), CTF_int::spctr_replicate::spmem_fp(), and CTF_int::spctr_2d_general::spmem_fp().
bool CTF_int::spctr::is_sparse_C |
Definition at line 14 of file spctr_tsr.h.
Referenced by CTF_int::seq_tsr_spctr::est_membw(), CTF_int::spctr_replicate::est_time_fp(), CTF_int::spctr_2d_general::est_time_fp(), CTF_int::spctr_replicate::run(), CTF_int::seq_tsr_spctr::run(), CTF_int::spctr_2d_general::run(), CTF_int::spctr_virt::run(), spctr(), CTF_int::spctr_replicate::spmem_fp(), and CTF_int::spctr_2d_general::spmem_fp().
char* CTF_int::spctr::new_C |
Definition at line 15 of file spctr_tsr.h.
Referenced by CTF_int::seq_tsr_spctr::run().