Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <ctr_comm.h>
Public Member Functions | |
void | run (char *A, char *B, char *C) |
int64_t | mem_fp () |
returns the number of bytes of buffer space we need More... | |
int64_t | mem_rec () |
returns the number of bytes need by each processor in this kernel and its recursive calls More... | |
double | est_time_fp (int nlyr) |
returns the execution time the local part this kernel is estimated to take More... | |
double | est_time_rec (int nlyr) |
returns the execution time this kernel and its recursive calls are estimated to take More... | |
void | print () |
ctr * | clone () |
ctr_replicate (ctr *other) | |
~ctr_replicate () | |
ctr_replicate (contraction const *c, int const *phys_mapped, int64_t blk_sz_A, int64_t blk_sz_B, int64_t blk_sz_C) | |
Public Member Functions inherited from CTF_int::ctr | |
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 | |
int | ncdt_A |
int | ncdt_B |
int | ncdt_C |
int64_t | size_A |
int64_t | size_B |
int64_t | size_C |
CommData ** | cdt_A |
CommData ** | cdt_B |
CommData ** | cdt_C |
ctr * | rec_ctr |
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 198 of file ctr_comm.h.
CTF_int::ctr_replicate::ctr_replicate | ( | ctr * | other | ) |
CTF_int::ctr_replicate::~ctr_replicate | ( | ) |
Definition at line 118 of file ctr_comm.cxx.
References CTF_int::cdealloc(), cdt_A, cdt_B, cdt_C, ncdt_A, ncdt_B, ncdt_C, and rec_ctr.
CTF_int::ctr_replicate::ctr_replicate | ( | contraction const * | c, |
int const * | phys_mapped, | ||
int64_t | blk_sz_A, | ||
int64_t | blk_sz_B, | ||
int64_t | blk_sz_C | ||
) |
Definition at line 43 of file ctr_comm.cxx.
References CTF_int::contraction::A, CTF_int::alloc_ptr(), CTF_int::contraction::B, CTF_int::contraction::C, cdt_A, cdt_B, cdt_C, CTF_int::topology::dim_comm, ncdt_A, ncdt_B, ncdt_C, CTF_int::topology::order, size_A, size_B, size_C, and CTF_int::tensor::topo.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 148 of file ctr_comm.cxx.
References ctr_replicate().
|
virtual |
returns the execution time the local part this kernel is estimated to take
Reimplemented from CTF_int::ctr.
Definition at line 173 of file ctr_comm.cxx.
References CTF_int::algstrct::addmop(), ASSERT, cdt_A, cdt_B, cdt_C, CTF_int::accumulatable::el_size, CTF_int::CommData::estimate_bcast_time(), CTF_int::CommData::estimate_red_time(), ncdt_A, ncdt_B, ncdt_C, ctf.core::np(), size_A, size_B, size_C, CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, and CTF_int::ctr::sr_C.
Referenced by est_time_rec().
|
virtual |
returns the execution time this kernel and its recursive calls are estimated to take
Reimplemented from CTF_int::ctr.
Definition at line 192 of file ctr_comm.cxx.
References est_time_fp(), CTF_int::ctr::est_time_rec(), and rec_ctr.
|
virtual |
returns the number of bytes of buffer space we need
Reimplemented from CTF_int::ctr.
Definition at line 196 of file ctr_comm.cxx.
Referenced by mem_rec().
|
virtual |
returns the number of bytes need by each processor in this kernel and its recursive calls
Reimplemented from CTF_int::ctr.
Definition at line 200 of file ctr_comm.cxx.
References mem_fp(), CTF_int::ctr::mem_rec(), and rec_ctr.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 152 of file ctr_comm.cxx.
References cdt_A, cdt_B, cdt_C, ncdt_A, ncdt_B, ncdt_C, ctf.core::np(), CTF_int::ctr::print(), rec_ctr, size_A, size_B, and size_C.
|
virtual |
Reimplemented from CTF_int::ctr.
Definition at line 205 of file ctr_comm.cxx.
References CTF_int::algstrct::addid(), CTF_int::algstrct::addmop(), CTF_int::CommData::bcast(), CTF_int::ctr::beta, cdt_A, cdt_B, cdt_C, CTF_int::ctr::idx_lyr, CTF_int::algstrct::isequal(), CTF_int::algstrct::mdtype(), CTF_int::algstrct::mulid(), ncdt_A, ncdt_B, ncdt_C, CTF_int::ctr::num_lyr, CTF_int::CommData::rank, ctf.core::rank(), rec_ctr, CTF_int::CommData::red(), CTF_int::ctr::run(), CTF_int::algstrct::scal(), CTF_int::algstrct::set(), size_A, size_B, size_C, CTF_int::ctr::sr_A, CTF_int::ctr::sr_B, and CTF_int::ctr::sr_C.
CommData** CTF_int::ctr_replicate::cdt_A |
Definition at line 207 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
CommData** CTF_int::ctr_replicate::cdt_B |
Definition at line 208 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
CommData** CTF_int::ctr_replicate::cdt_C |
Definition at line 209 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
int CTF_int::ctr_replicate::ncdt_A |
Definition at line 200 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
int CTF_int::ctr_replicate::ncdt_B |
Definition at line 201 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
int CTF_int::ctr_replicate::ncdt_C |
Definition at line 202 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), run(), and ~ctr_replicate().
ctr* CTF_int::ctr_replicate::rec_ctr |
Definition at line 211 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_rec(), CTF_int::get_len_ordering(), mem_rec(), print(), run(), and ~ctr_replicate().
int64_t CTF_int::ctr_replicate::size_A |
Definition at line 203 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), and run().
int64_t CTF_int::ctr_replicate::size_B |
Definition at line 204 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), and run().
int64_t CTF_int::ctr_replicate::size_C |
Definition at line 205 of file ctr_comm.h.
Referenced by ctr_replicate(), est_time_fp(), print(), and run().