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

#include <spctr_tsr.h>

Inheritance diagram for CTF_int::spctr_pin_keys:
Collaboration diagram for CTF_int::spctr_pin_keys:

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

spctrrec_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
 

Detailed Description

Definition at line 164 of file spctr_tsr.h.

Constructor & Destructor Documentation

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

Member Function Documentation

spctr * CTF_int::spctr_pin_keys::clone ( )
virtual

Reimplemented from CTF_int::spctr.

Definition at line 891 of file spctr_tsr.cxx.

References spctr_pin_keys().

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

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

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

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

void CTF_int::spctr_pin_keys::print ( )
virtual

Reimplemented from CTF_int::ctr.

Definition at line 895 of file spctr_tsr.cxx.

References AxBxC, CTF_int::ctr::print(), and rec_ctr.

void CTF_int::spctr_pin_keys::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 
)
virtual
int64_t CTF_int::spctr_pin_keys::spmem_fp ( double  nnz_frac_A,
double  nnz_frac_B,
double  nnz_frac_C 
)
int64_t CTF_int::spctr_pin_keys::spmem_rec ( double  nnz_frac_A,
double  nnz_frac_B,
double  nnz_frac_C 
)
virtual

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

Returns
bytes needed for recursive contraction

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

Field Documentation

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::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
int* CTF_int::spctr_pin_keys::virt_dim

Definition at line 171 of file spctr_tsr.h.

Referenced by run(), and spctr_pin_keys().


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