Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
class for execution distributed scaling of a tensor More...
#include <scaling.h>
Public Member Functions | |
scaling (tensor *A, int const *idx_map, char const *alpha) | |
constructor definining contraction with C's mul and add ops More... | |
scaling (tensor *A, char const *idx_map, char const *alpha) | |
scaling (tensor *A, int const *idx_map, char const *alpha, endomorphism const *func) | |
constructor definining scaling with custom function More... | |
scaling (tensor *A, char const *idx_map, char const *alpha, endomorphism const *func) | |
~scaling () | |
destructor More... | |
int | execute () |
run scaling More... | |
double | estimate_time () |
predicts execution time in seconds using performance models More... | |
void | sp_scl () |
scales a sparse tensor More... | |
Data Fields | |
tensor * | A |
operand/output More... | |
char const * | alpha |
scaling of A More... | |
int * | idx_map |
indices of A More... | |
bool | is_custom |
whether there is a elementwise custom function More... | |
endomorphism const * | func |
function to execute on elementwise elements More... | |
CTF_int::scaling::scaling | ( | tensor * | A, |
int const * | idx_map, | ||
char const * | alpha | ||
) |
constructor definining contraction with C's mul and add ops
[in] | A | left operand tensor |
[in] | idx_map | indices of left operand |
[in] | alpha | scaling factor alpha * A[idx_map]; A[idx_map] = alpha * A[idx_map] |
Definition at line 14 of file scaling.cxx.
References CTF_int::alloc().
CTF_int::scaling::scaling | ( | tensor * | A, |
char const * | idx_map, | ||
char const * | alpha | ||
) |
Definition at line 25 of file scaling.cxx.
References CTF_int::conv_idx().
CTF_int::scaling::scaling | ( | tensor * | A, |
int const * | idx_map, | ||
char const * | alpha, | ||
endomorphism const * | func | ||
) |
constructor definining scaling with custom function
[in] | A | left operand tensor |
[in] | idx_map | indices of left operand func(&A[idx_map]) |
[in] | alpha | scaling factor alpha * A[idx_map]; A[idx_map] = alpha * func(A[idx_map]) |
[in] | func | elementwise function |
Definition at line 35 of file scaling.cxx.
References CTF_int::alloc().
CTF_int::scaling::scaling | ( | tensor * | A, |
char const * | idx_map, | ||
char const * | alpha, | ||
endomorphism const * | func | ||
) |
Definition at line 48 of file scaling.cxx.
References CTF_int::conv_idx().
CTF_int::scaling::~scaling | ( | ) |
double CTF_int::scaling::estimate_time | ( | ) |
predicts execution time in seconds using performance models
int CTF_int::scaling::execute | ( | ) |
run scaling
Definition at line 64 of file scaling.cxx.
References CTF_int::scl::A, ABORT, CTF_int::alloc_ptr(), CTF_int::scl::alpha, ASSERT, CTF_int::scl_virt::blk_sz_A, CTF_int::scl::buffer, CTF_int::calc_dim(), CTF_int::tensor::calc_nvirt(), CTF_int::cdealloc(), CTF::World::cdt, CTF_int::check_self_mapping(), CTF_int::mapping::child, CTF_int::tensor::clear_mapping(), CTF_int::algstrct::copy(), CTF_int::copy_mapping(), CTF_int::tensor::data, CTF_int::algstrct::dealloc(), CTF_int::topology::dim_comm, DPRINTF, CTF_int::seq_tsr_scl::edge_len, CTF_int::tensor::edge_map, CTF_int::ERROR, CTF_int::seq_tsr_scl::func, CTF_int::get_best_topo(), CTF_int::mapping::has_child, CTF_int::tensor::has_home, CTF_int::tensor::has_zero_edge_len, CTF_int::tensor::home_buffer, CTF_int::seq_tsr_scl::idx_map, CTF_int::scl_virt::idx_map_A, CTF_int::inv_idx(), CTF_int::seq_tsr_scl::is_custom, CTF_int::tensor::is_cyclic, CTF_int::tensor::is_data_aliased, CTF_int::tensor::is_home, CTF_int::tensor::is_mapped, CTF_int::tensor::is_sparse, CTF_int::map_self_indices(), CTF_int::tensor::map_tensor_rem(), CTF_int::tensor::name, CTF_int::tensor::nnz_blk, CTF_int::mapping::np, CTF_int::CommData::np, CTF_int::scl_virt::num_dim, CTF_int::topology::order, CTF_int::seq_tsr_scl::order, CTF_int::tensor::order, CTF_int::scl_virt::order_A, CTF_int::tensor::pad_edge_len, CTF_int::algstrct::pair_dealloc(), CTF_int::tensor::print_map(), CTF_int::proc_bytes_available(), CTF_int::CommData::rank, CTF_int::scl_virt::rec_scl, CTF_int::strp_scl::rec_scl, CTF_int::strp_scl::rec_strp, CTF_int::tensor::redistribute(), CTF_int::scl::run(), CTF_int::tensor::set_new_nnz_glb(), CTF_int::tensor::set_padding(), CTF_int::tensor::size, CTF_int::tensor::sr, CTF_int::scl::sr_A, CTF_int::strip_diag(), CTF_int::strp_tsr::strip_dim, CTF_int::SUCCESS, CTF_int::seq_tsr_scl::sym, CTF_int::tensor::sym, TAU_FSTART, TAU_FSTOP, CTF_int::tensor::topo, CTF::World::topovec, ctf.core::tsr, CTF_int::mapping::type, CTF_int::tensor::unfold(), CTF_int::scl_virt::virt_dim, CTF_int::VIRTUAL_MAP, and CTF_int::tensor::wrld.
Referenced by CTF_int::desymmetrize(), CTF_int::summation::estimate_time(), CTF::Tensor< dtype >::fill_sp_random(), CTF_int::get_len_ordering(), CTF_int::endomorphism::operator()(), CTF_int::summation::sum_tensors(), and CTF_int::symmetrize().
void CTF_int::scaling::sp_scl | ( | ) |
scales a sparse tensor
Definition at line 347 of file scaling.cxx.
References CTF_int::PairIterator::k(), TAU_FSTART, and TAU_FSTOP.
endomorphism const* CTF_int::scaling::func |
bool CTF_int::scaling::is_custom |