Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
sparse_rw.cxx File Reference
#include "sparse_rw.h"
#include "pad.h"
#include "../shared/util.h"
Include dependency graph for sparse_rw.cxx:

Go to the source code of this file.

Namespaces

 CTF_int
 

Functions

void CTF_int::permute_keys (int order, int num_pair, int const *edge_len, int const *new_edge_len, int *const *permutation, char *pairs, int64_t *new_num_pair, algstrct const *sr)
 permutes keys More...
 
void CTF_int::depermute_keys (int order, int num_pair, int const *edge_len, int const *new_edge_len, int *const *permutation, char *pairs, algstrct const *sr)
 depermutes keys (apply P^T) More...
 
void CTF_int::assign_keys (int order, int64_t size, int nvirt, int const *edge_len, int const *sym, int const *phase, int const *phys_phase, int const *virt_dim, int *phase_rank, char const *vdata, char *vpairs, algstrct const *sr)
 assigns keys to an array of values More...
 
void CTF_int::spsfy_tsr (int order, int64_t size, int nvirt, int const *edge_len, int const *sym, int const *phase, int const *phys_phase, int const *virt_dim, int *phase_rank, char const *vdata, char *&vpairs, int64_t *nnz_blk, algstrct const *sr, int64_t const *edge_lda, std::function< bool(char const *)> f)
 extracts all tensor values (in pair format) that pass a sparsifier function (including padded zeros if they pass the fliter) More...
 
void CTF_int::bucket_by_pe (int order, int64_t num_pair, int64_t np, int const *phys_phase, int const *virt_phase, int const *bucket_lda, int const *edge_len, ConstPairIterator mapped_data, int64_t *bucket_counts, int64_t *bucket_off, PairIterator bucket_data, algstrct const *sr)
 buckets key-value pairs by processor according to distribution More...
 
int64_t * CTF_int::bucket_by_virt (int order, int num_virt, int64_t num_pair, int const *phys_phase, int const *virt_phase, int const *edge_len, ConstPairIterator mapped_data, PairIterator bucket_data, algstrct const *sr)
 buckets key value pairs by block/virtual-processor More...
 
void CTF_int::readwrite (int order, int64_t size, char const *alpha, char const *beta, int nvirt, int const *edge_len, int const *sym, int const *phase, int const *phys_phase, int const *virt_dim, int *phase_rank, char *vdata, char *pairs, char rw, algstrct const *sr)
 read or write pairs from / to tensor More...
 
void CTF_int::wr_pairs_layout (int order, int np, int64_t inwrite, char const *alpha, char const *beta, char rw, int num_virt, int const *sym, int const *edge_len, int const *padding, int const *phase, int const *phys_phase, int const *virt_phase, int *virt_phys_rank, int const *bucket_lda, char *wr_pairs_buf, char *rw_data, CommData glb_comm, algstrct const *sr, bool is_sparse, int64_t nnz_loc, int64_t *nnz_blk, char *&pprs_new, int64_t &nnz_loc_new)
 read or write pairs from / to tensor More...
 
void CTF_int::read_loc_pairs (int order, int64_t nval, int num_virt, int const *sym, int const *edge_len, int const *padding, int const *phase, int const *phys_phase, int const *virt_phase, int *phase_rank, int64_t *nread, char const *data, char **pairs, algstrct const *sr)
 read tensor pairs local to processor More...
 
void CTF_int::sp_read (algstrct const *sr, int64_t ntsr, ConstPairIterator prs_tsr, char const *alpha, int64_t nread, PairIterator prs_read, char const *beta)
 reads elements of a sparse set defining the tensor, into a sparse read set with potentially repeating keys More...
 
void CTF_int::sp_write (int num_virt, algstrct const *sr, int64_t *vntsr, ConstPairIterator vprs_tsr, char const *beta, int64_t *vnwrite, ConstPairIterator vprs_write, char const *alpha, int64_t *vnnew, char *&pprs_new)
 writes pairs in a sparse write set to the sparse set of elements defining the tensor, resulting in a set of size between ntsr and ntsr+nwrite More...