| Cyclops Tensor Framework
    parallel arithmetic on multidimensional arrays | 
#include <string.h>#include <string>#include <stdio.h>#include <assert.h>#include <stdint.h>#include <math.h>#include <algorithm>#include <list>#include <vector>#include <complex>#include <unistd.h>#include <iostream>#include <limits.h>#include <random>#include <mpi.h>#include "../shared/model.h"

Go to the source code of this file.
| Data Structures | |
| class | CTF_int::CommData | 
| Namespaces | |
| CTF | |
| CTF_int | |
| Macros | |
| #define | IASSERT(...) do { if (!(__VA_ARGS__)){ int rank; MPI_Comm_rank(MPI_COMM_WORLD,&rank); if (rank == 0){ printf("CTF ERROR: %s:%d, ASSERT(%s) failed\n",__FILE__,__LINE__,#__VA_ARGS__); } CTF_int::handler(); assert(__VA_ARGS__); } } while (0) | 
| Typedefs | |
| typedef STRUCTURE | SYM | 
| Enumerations | |
| enum | STRUCTURE : int { NS, SY, AS, SH, SP } | 
| enum | CTF::OP { CTF::OP_SUM, CTF::OP_SUMABS, CTF::OP_SUMSQ, CTF::OP_MAX, CTF::OP_MIN, CTF::OP_MAXABS, CTF::OP_MINABS } | 
| reduction types for tensor data deprecated types: OP_NORM1=OP_SUMABS, OP_NORM2=call norm2(), OP_NORM_INFTY=OP_MAXABS  More... | |
| enum | { CTF_int::SUCCESS, CTF_int::ERROR, CTF_int::NEGATIVE } | 
| Functions | |
| void | CTF_int::init_rng (int rank) | 
| initialized random number generator  More... | |
| double | CTF_int::get_rand48 () | 
| returns new random number in [0,1)  More... | |
| void | CTF_int::handler () | 
| int64_t | CTF_int::sy_packed_size (int order, const int *len, const int *sym) | 
| computes the size of a tensor in SY (NOT HOLLOW) packed symmetric layout  More... | |
| int64_t | CTF_int::packed_size (int order, const int *len, const int *sym) | 
| computes the size of a tensor in packed symmetric (SY, SH, or AS) layout  More... | |
| template<typename type > | |
| int | CTF_int::conv_idx (int order, type const *cidx, int **iidx) | 
| template<typename type > | |
| int | CTF_int::conv_idx (int order_A, type const *cidx_A, int **iidx_A, int order_B, type const *cidx_B, int **iidx_B) | 
| template<typename type > | |
| int | CTF_int::conv_idx (int order_A, type const *cidx_A, int **iidx_A, int order_B, type const *cidx_B, int **iidx_B, int order_C, type const *cidx_C, int **iidx_C) | 
| void | CTF_int::flops_add (int64_t n) | 
| int64_t | CTF_int::get_flops () | 
| int | CTF_int::alloc_ptr (int64_t const len_, void **const ptr) | 
| alloc abstraction  More... | |
| int | CTF_int::mst_alloc_ptr (int64_t const len, void **const ptr) | 
| mst_alloc abstraction  More... | |
| void * | CTF_int::alloc (int64_t const len) | 
| alloc abstraction  More... | |
| void * | CTF_int::mst_alloc (int64_t const len) | 
| mst_alloc allocates buffer on the specialized memory stack  More... | |
| int | CTF_int::cdealloc (void *ptr) | 
| free abstraction  More... | |
| void | CTF_int::cvrt_idx (int order, int const *lens, int64_t idx, int **idx_arr) | 
| void | CTF_int::cvrt_idx (int order, int const *lens, int64_t idx, int *idx_arr) | 
| void | CTF_int::cvrt_idx (int order, int const *lens, int const *idx_arr, int64_t *idx) | 
| bool | CTF_int::get_mpi_dt (int64_t count, int64_t datum_size, MPI_Datatype &dt) | 
| gives a datatype for arbitrary datum_size, errors if exceeding 32-bits  More... | |
| #define IASSERT | ( | ... | ) | do { if (!(__VA_ARGS__)){ int rank; MPI_Comm_rank(MPI_COMM_WORLD,&rank); if (rank == 0){ printf("CTF ERROR: %s:%d, ASSERT(%s) failed\n",__FILE__,__LINE__,#__VA_ARGS__); } CTF_int::handler(); assert(__VA_ARGS__); } } while (0) | 
Definition at line 74 of file common.h.
Referenced by CTF::Tensor< dtype >::align(), CTF::Set< dtype, is_ord >::cast_to_double(), CTF::Tensor< dtype >::fill_random(), CTF::fill_random_base(), CTF::Tensor< dtype >::fill_sp_random(), CTF::Matrix< dtype >::get_desc(), CTF_int::get_fmt(), CTF::Tensor< dtype >::get_local_data(), CTF::Tensor< dtype >::get_local_pairs(), CTF::Tensor< dtype >::get_max_abs(), CTF::Matrix< dtype >::Matrix(), CTF::Tensor< dtype >::norm1(), CTF::Tensor< dtype >::norm2(), CTF::Tensor< dtype >::norm_infty(), CTF::Tensor< dtype >::permute(), CTF::Tensor< dtype >::read(), CTF::Tensor< dtype >::read_all(), CTF::Tensor< dtype >::read_local(), CTF::Matrix< dtype >::read_mat(), CTF::Tensor< dtype >::reduce(), CTF_int::spctr::run(), CTF::Tensor< dtype >::slice(), CTF::Tensor< dtype >::sparsify(), CTF_int::subsample(), CTF::Tensor< dtype >::Tensor(), CTF::Vector< dtype >::Vector(), CTF::Tensor< dtype >::write(), and CTF::World::~World().
| enum STRUCTURE : int | 
labels corresponding to symmetry of each tensor dimension NS = 0 - nonsymmetric SY = 1 - symmetric AS = 2 - antisymmetric SH = 3 - symmetric hollow labels corresponding to symmetry or strucutre of entire tensor NS = 0 - nonsymmetric SY = 1 - symmetric AS = 2 - antisymmetric SH = 3 - symmetric hollow SP = 4 - sparse
| Enumerator | |
|---|---|
| NS | |
| SY | |
| AS | |
| SH | |
| SP | |