Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
CTF_int::spctr Class Reference

#include <spctr_tsr.h>

Inheritance diagram for CTF_int::spctr:
Collaboration diagram for CTF_int::spctr:

Public Member Functions

 ~spctr ()
 
 spctr (spctr *other)
 
virtual spctrclone ()
 
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
 

Detailed Description

Definition at line 10 of file spctr_tsr.h.

Constructor & Destructor Documentation

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().

Member Function Documentation

virtual double CTF_int::spctr::est_time_fp ( int  nlyr,
double  nnz_frac_A,
double  nnz_frac_B,
double  nnz_frac_C 
)
inlinevirtual

returns the execution time the local part this kernel is estimated to take

Parameters
[in]nlyramount of replication
[in]nnz_frac_Apercentage of nonzeros in tensor A
[in]nnz_frac_Bpercentage of nonzeros in tensor B
[in]nnz_frac_Cpercentage of nonzeros in tensor C
Returns
time in sec

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.

double CTF_int::spctr::est_time_fp ( int  nlyr)
inlinevirtual

Reimplemented from CTF_int::ctr.

Definition at line 30 of file spctr_tsr.h.

References est_time_fp().

Referenced by est_time_fp().

virtual double CTF_int::spctr::est_time_rec ( int  nlyr,
double  nnz_frac_A,
double  nnz_frac_B,
double  nnz_frac_C 
)
inlinevirtual

returns the execution time this kernel and its recursive calls are estimated to take

Parameters
[in]nlyramount of replication
[in]nnz_frac_Apercentage of nonzeros in tensor A
[in]nnz_frac_Bpercentage of nonzeros in tensor B
[in]nnz_frac_Cpercentage of nonzeros in tensor C
Returns
time in sec

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().

double CTF_int::spctr::est_time_rec ( int  nlyr)
inlinevirtual

Reimplemented from CTF_int::ctr.

Definition at line 40 of file spctr_tsr.h.

References est_time_rec().

Referenced by est_time_rec().

void CTF_int::spctr::run ( char *  A,
char *  B,
char *  C 
)
inlinevirtual
virtual void CTF_int::spctr::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 
)
inlinevirtual
virtual int64_t CTF_int::spctr::spmem_rec ( double  nnz_frac_A,
double  nnz_frac_B,
double  nnz_frac_C 
)
inlinevirtual

returns the number of bytes need by each processor in this kernel and its recursive calls

Returns
bytes needed for recursive contraction

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().

Field Documentation

char* CTF_int::spctr::new_C

Definition at line 15 of file spctr_tsr.h.

Referenced by CTF_int::seq_tsr_spctr::run().


The documentation for this class was generated from the following files: