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 |