Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
#include <distribution.h>
Public Member Functions | |
distribution () | |
~distribution () | |
distribution (tensor const *tsr) | |
create distribution object which defines a tensor's data decomposition More... | |
distribution (char const *buffer) | |
create distribution object by deserializing buffer More... | |
void | serialize (char **buffer, int *size) |
serialize object into contiguous data buffer More... | |
Data Fields | |
int | order |
int * | phase |
int * | virt_phase |
int * | phys_phase |
int * | pe_lda |
int * | pad_edge_len |
int * | padding |
int * | perank |
int | is_cyclic |
int64_t | size |
Definition at line 18 of file distribution.h.
CTF_int::distribution::distribution | ( | ) |
Definition at line 8 of file distribution.cxx.
References order.
CTF_int::distribution::~distribution | ( | ) |
Definition at line 84 of file distribution.cxx.
CTF_int::distribution::distribution | ( | tensor const * | tsr | ) |
create distribution object which defines a tensor's data decomposition
[in] | tsr | tensor whose distribution to record |
Definition at line 20 of file distribution.cxx.
References CTF_int::alloc_ptr(), ASSERT, CTF_int::mapping::calc_phase(), CTF_int::mapping::calc_phys_phase(), CTF_int::mapping::calc_phys_rank(), CTF_int::mapping::cdt, CTF_int::tensor::edge_map, is_cyclic, CTF_int::tensor::is_cyclic, CTF_int::topology::lda, order, CTF_int::tensor::order, pad_edge_len, CTF_int::tensor::pad_edge_len, padding, CTF_int::tensor::padding, pe_lda, perank, phase, phys_phase, CTF_int::PHYSICAL_MAP, size, CTF_int::tensor::size, CTF_int::tensor::topo, CTF_int::mapping::type, and virt_phase.
CTF_int::distribution::distribution | ( | char const * | buffer | ) |
create distribution object by deserializing buffer
[in] | buffer | serialized distribution data |
Definition at line 49 of file distribution.cxx.
References CTF_int::alloc_ptr(), ASSERT, CTF_int::get_distribution_size(), is_cyclic, order, pad_edge_len, padding, pe_lda, perank, phase, phys_phase, size, and virt_phase.
void CTF_int::distribution::serialize | ( | char ** | buffer, |
int * | size | ||
) |
serialize object into contiguous data buffer
[out] | buffer | unallocated array into which to serialize |
[out] | size | length of serialized array |
Definition at line 88 of file distribution.cxx.
References CTF_int::alloc_ptr(), ASSERT, CTF_int::cdealloc(), CTF_int::get_distribution_size(), is_cyclic, order, pad_edge_len, padding, pe_lda, perank, phase, phys_phase, size, and virt_phase.
Referenced by CTF_int::tensor::orient_subworld().
int CTF_int::distribution::is_cyclic |
Definition at line 28 of file distribution.h.
Referenced by CTF_int::cyclic_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), and serialize().
int CTF_int::distribution::order |
Definition at line 20 of file distribution.h.
Referenced by ctf.core.tensor::__get__(), ctf.core.tensor::__getitem__(), ctf.core.tensor::__setitem__(), CTF_int::block_reshuffle(), CTF_int::calc_cnt_displs(), CTF_int::calc_dim(), CTF_int::compute_bucket_offsets(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::glb_ord_pup(), ctf.core.tensor::i(), CTF_int::order_globally(), CTF_int::pad_cyclic_pup_virt_buff(), CTF_int::padded_reshuffle(), ctf.core.tensor::permute(), CTF_int::precompute_offsets(), serialize(), and ctf.core.tensor::transpose().
int* CTF_int::distribution::pad_edge_len |
Definition at line 25 of file distribution.h.
Referenced by CTF_int::calc_cnt_displs(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::padded_reshuffle(), and serialize().
int* CTF_int::distribution::padding |
Definition at line 26 of file distribution.h.
Referenced by CTF_int::calc_cnt_displs(), CTF_int::cyclic_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::padded_reshuffle(), and serialize().
int* CTF_int::distribution::pe_lda |
Definition at line 24 of file distribution.h.
Referenced by CTF_int::block_reshuffle(), CTF_int::compute_bucket_offsets(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::padded_reshuffle(), CTF_int::precompute_offsets(), and serialize().
int* CTF_int::distribution::perank |
Definition at line 27 of file distribution.h.
Referenced by CTF_int::block_reshuffle(), CTF_int::calc_cnt_displs(), CTF_int::compute_bucket_offsets(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::glb_ord_pup(), CTF_int::pad_cyclic_pup_virt_buff(), CTF_int::padded_reshuffle(), CTF_int::precompute_offsets(), and serialize().
int* CTF_int::distribution::phase |
Definition at line 21 of file distribution.h.
Referenced by CTF_int::block_reshuffle(), CTF_int::calc_cnt_displs(), CTF_int::compute_bucket_offsets(), CTF_int::cyclic_reshuffle(), distribution(), CTF_int::tensor::est_redist_time(), CTF_int::tensor::get_redist_mem(), CTF_int::glb_cyclic_reshuffle(), CTF_int::glb_ord_pup(), CTF_int::summation::is_equal(), CTF_int::pad_cyclic_pup_virt_buff(), CTF_int::padded_reshuffle(), CTF_int::precompute_offsets(), CTF_int::tensor::redistribute(), and serialize().
int* CTF_int::distribution::phys_phase |
Definition at line 23 of file distribution.h.
Referenced by CTF_int::block_reshuffle(), CTF_int::calc_cnt_displs(), CTF_int::compute_bucket_offsets(), dgtog_reshuffle(), distribution(), CTF_int::glb_cyclic_reshuffle(), CTF_int::glb_ord_pup(), CTF_int::pad_cyclic_pup_virt_buff(), CTF_int::padded_reshuffle(), CTF_int::precompute_offsets(), and serialize().
int64_t CTF_int::distribution::size |
Definition at line 29 of file distribution.h.
Referenced by ctf.core.tensor::__float__(), ctf.core.tensor::__get__(), ctf.core.tensor::__int__(), ctf.core.tensor::__nonzero__(), CTF_int::tensor::add_to_subworld(), CTF_int::block_reshuffle(), CTF_int::calc_dim(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::tensor::est_redist_time(), CTF_int::tensor::get_redist_mem(), CTF_int::glb_cyclic_reshuffle(), CTF_int::tensor::orient_subworld(), CTF_int::padded_reshuffle(), CTF_int::tensor::redistribute(), and serialize().
int* CTF_int::distribution::virt_phase |
Definition at line 22 of file distribution.h.
Referenced by CTF_int::block_reshuffle(), CTF_int::calc_cnt_displs(), CTF_int::compute_bucket_offsets(), CTF_int::cyclic_reshuffle(), dgtog_reshuffle(), distribution(), CTF_int::tensor::est_redist_time(), CTF_int::glb_cyclic_reshuffle(), CTF_int::glb_ord_pup(), CTF_int::ord_glb(), CTF_int::ord_glb_omp(), CTF_int::order_globally(), CTF_int::pad_cyclic_pup_virt_buff(), CTF_int::padded_reshuffle(), CTF_int::precompute_offsets(), and serialize().