Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <mapping.h>
Public Member Functions | |
mapping () | |
constructor More... | |
~mapping () | |
destructor More... | |
mapping (mapping const &other) | |
copy constructor More... | |
mapping & | operator= (mapping const &other) |
int | calc_phase () const |
compute the phase of a mapping More... | |
int | calc_phys_phase () const |
compute the physical phase of a mapping More... | |
int | calc_phys_rank (topology const *topo) const |
compute the physical rank of a mapping More... | |
void | clear () |
resets mapping to NOT_MAPPED More... | |
void | aug_phys (topology const *topo, int idim) |
adds a physical mapping to this mapping More... | |
void | aug_virt (int tot_phase) |
augments mapping to have sufficient virtualization so that the total phas is exactly tot_phase (assumes tot_phase is not current phase) More... | |
Data Fields | |
map_type | type |
int | np |
int | cdt |
int | has_child |
mapping * | child |
CTF_int::mapping::mapping | ( | ) |
constructor
Definition at line 11 of file mapping.cxx.
References has_child, CTF_int::NOT_MAPPED, np, and type.
Referenced by aug_phys(), aug_virt(), CTF_int::copy_mapping(), CTF_int::map_symtsr(), CTF_int::map_tensor(), mapping(), operator=(), and CTF_int::stretch_virt().
CTF_int::mapping::~mapping | ( | ) |
CTF_int::mapping::mapping | ( | mapping const & | other | ) |
void CTF_int::mapping::aug_phys | ( | topology const * | topo, |
int | idim | ||
) |
adds a physical mapping to this mapping
[in] | topo | topology to map to |
[in] | idim | dimension of topology to map to |
Definition at line 104 of file mapping.cxx.
References cdt, child, clear(), has_child, CTF_int::topology::lens, mapping(), CTF_int::NOT_MAPPED, np, CTF_int::PHYSICAL_MAP, and type.
Referenced by CTF_int::get_len_ordering().
void CTF_int::mapping::aug_virt | ( | int | tot_phase | ) |
augments mapping to have sufficient virtualization so that the total phas is exactly tot_phase (assumes tot_phase is not current phase)
[in] | tot_phase | the desired total phase |
Definition at line 117 of file mapping.cxx.
References ASSERT, child, has_child, mapping(), CTF_int::NOT_MAPPED, np, CTF_int::PHYSICAL_MAP, type, and CTF_int::VIRTUAL_MAP.
Referenced by CTF_int::get_len_ordering().
int CTF_int::mapping::calc_phase | ( | ) | const |
compute the phase of a mapping
Definition at line 39 of file mapping.cxx.
References ASSERT, calc_phase(), child, has_child, CTF_int::NOT_MAPPED, np, and type.
Referenced by calc_phase(), CTF_int::tensor::calc_phase(), CTF_int::can_block_reshuffle(), CTF_int::check_self_mapping(), CTF_int::ctr_2d_gen_build(), CTF_int::distribution::distribution(), CTF::Matrix< dtype >::get_desc(), CTF_int::get_len_ordering(), CTF_int::map_symtsr(), CTF_int::tensor::read_local(), CTF_int::tensor::scale_diagonals(), CTF_int::seq_tsr_spsum::seq_tsr_spsum(), CTF_int::tensor::set_padding(), CTF_int::tensor::sparsify(), CTF_int::spctr_pin_keys::spctr_pin_keys(), CTF_int::strip_diag(), CTF::Matrix< dtype >::svd(), CTF_int::tspsum_map::tspsum_map(), CTF_int::tspsum_pin_keys::tspsum_pin_keys(), CTF_int::tensor::write(), and CTF_int::tensor::zero_out_padding().
int CTF_int::mapping::calc_phys_phase | ( | ) | const |
compute the physical phase of a mapping
Definition at line 57 of file mapping.cxx.
References calc_phys_phase(), child, has_child, CTF_int::NOT_MAPPED, np, CTF_int::PHYSICAL_MAP, and type.
Referenced by calc_phys_phase(), CTF_int::distribution::distribution(), CTF_int::get_len_ordering(), CTF_int::map_tensor(), CTF_int::tensor::read_local(), CTF_int::tensor::scale_diagonals(), CTF_int::tensor::sparsify(), CTF_int::spctr_pin_keys::spctr_pin_keys(), CTF_int::strip_diag(), CTF_int::tspsum_pin_keys::tspsum_pin_keys(), CTF_int::tensor::write(), and CTF_int::tensor::zero_out_padding().
int CTF_int::mapping::calc_phys_rank | ( | topology const * | topo | ) | const |
compute the physical rank of a mapping
topo | topology |
Definition at line 74 of file mapping.cxx.
References calc_phys_rank(), cdt, child, CTF_int::topology::dim_comm, has_child, CTF_int::NOT_MAPPED, np, CTF_int::PHYSICAL_MAP, CTF_int::CommData::rank, ctf.core::rank(), and type.
Referenced by calc_phys_rank(), CTF_int::distribution::distribution(), CTF_int::tensor::read_local(), CTF_int::tensor::scale_diagonals(), CTF_int::tensor::sparsify(), CTF_int::spctr_pin_keys::spctr_pin_keys(), CTF_int::strip_diag(), CTF_int::tspsum_pin_keys::tspsum_pin_keys(), CTF_int::tensor::write(), and CTF_int::tensor::zero_out_padding().
void CTF_int::mapping::clear | ( | ) |
resets mapping to NOT_MAPPED
Definition at line 94 of file mapping.cxx.
References child, clear(), has_child, CTF_int::NOT_MAPPED, np, and type.
Referenced by aug_phys(), clear(), CTF_int::tensor::clear_mapping(), CTF_int::copy_mapping(), CTF_int::get_len_ordering(), CTF_int::summation::is_equal(), CTF_int::morph_topo(), and ~mapping().
int CTF_int::mapping::cdt |
Definition at line 24 of file mapping.h.
Referenced by aug_phys(), calc_phys_rank(), CTF_int::check_self_mapping(), CTF_int::comp_dim_map(), CTF_int::ctr_2d_gen_build(), CTF_int::distribution::distribution(), CTF_int::summation::estimate_time(), CTF_int::extract_free_comms(), CTF_int::get_len_ordering(), CTF_int::summation::is_equal(), CTF_int::map_tensor(), CTF_int::tensor::map_tensor_rem(), mapping(), CTF_int::morph_topo(), operator=(), CTF_int::tensor::read_local(), CTF_int::tensor::scale_diagonals(), CTF_int::tensor::set_distribution(), CTF_int::tensor::sparsify(), CTF_int::tensor::write(), and CTF_int::tensor::zero_out_padding().
mapping* CTF_int::mapping::child |
Definition at line 26 of file mapping.h.
Referenced by aug_phys(), aug_virt(), CTF_int::calc_dim(), CTF_int::tensor::calc_npe(), CTF_int::tensor::calc_nvirt(), calc_phase(), calc_phys_phase(), calc_phys_rank(), CTF_int::check_self_mapping(), clear(), CTF_int::comp_dim_map(), CTF_int::ctr_2d_gen_build(), CTF_int::summation::estimate_time(), CTF_int::scaling::execute(), CTF_int::extract_free_comms(), CTF_int::get_len_ordering(), CTF_int::summation::is_equal(), CTF_int::map_symtsr(), CTF_int::map_tensor(), CTF_int::tensor::map_tensor_rem(), mapping(), CTF_int::morph_topo(), operator=(), CTF_int::tensor::set_distribution(), and CTF_int::stretch_virt().
int CTF_int::mapping::has_child |
Definition at line 25 of file mapping.h.
Referenced by aug_phys(), aug_virt(), CTF_int::calc_dim(), CTF_int::tensor::calc_npe(), CTF_int::tensor::calc_nvirt(), calc_phase(), calc_phys_phase(), calc_phys_rank(), CTF_int::check_self_mapping(), clear(), CTF_int::comp_dim_map(), CTF_int::copy_mapping(), CTF_int::ctr_2d_gen_build(), CTF_int::summation::estimate_time(), CTF_int::scaling::execute(), CTF_int::extract_free_comms(), CTF_int::get_len_ordering(), CTF_int::summation::is_equal(), CTF_int::map_self_indices(), CTF_int::map_symtsr(), CTF_int::map_tensor(), CTF_int::tensor::map_tensor_rem(), mapping(), CTF_int::morph_topo(), operator=(), CTF_int::tensor::set_distribution(), and CTF_int::stretch_virt().
int CTF_int::mapping::np |
Definition at line 23 of file mapping.h.
Referenced by aug_phys(), aug_virt(), CTF_int::calc_dim(), CTF_int::tensor::calc_npe(), CTF_int::tensor::calc_nvirt(), calc_phase(), calc_phys_phase(), calc_phys_rank(), clear(), CTF_int::comp_dim_map(), CTF_int::copy_mapping(), CTF_int::ctr_2d_gen_build(), CTF_int::summation::estimate_time(), CTF_int::scaling::execute(), CTF_int::get_len_ordering(), CTF_int::summation::is_equal(), CTF_int::map_self_indices(), CTF_int::map_symtsr(), CTF_int::map_tensor(), mapping(), CTF_int::morph_topo(), operator=(), CTF_int::tensor::set_distribution(), and CTF_int::stretch_virt().
map_type CTF_int::mapping::type |
Definition at line 22 of file mapping.h.
Referenced by aug_phys(), aug_virt(), CTF_int::calc_dim(), CTF_int::tensor::calc_npe(), CTF_int::tensor::calc_nvirt(), calc_phase(), calc_phys_phase(), calc_phys_rank(), CTF_int::check_self_mapping(), clear(), CTF_int::comp_dim_map(), CTF_int::copy_mapping(), CTF_int::ctr_2d_gen_build(), CTF_int::distribution::distribution(), CTF_int::summation::estimate_time(), CTF_int::scaling::execute(), CTF_int::extract_free_comms(), CTF_int::get_len_ordering(), CTF_int::tensor::init(), CTF_int::summation::is_equal(), CTF_int::map_self_indices(), CTF_int::map_symtsr(), CTF_int::map_tensor(), CTF_int::tensor::map_tensor_rem(), mapping(), CTF_int::morph_topo(), operator=(), CTF_int::tensor::read_local(), CTF_int::tensor::scale_diagonals(), CTF_int::tensor::set_distribution(), CTF_int::tensor::sparsify(), CTF_int::stretch_virt(), CTF_int::tensor::write(), and CTF_int::tensor::zero_out_padding().