Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
common.h File Reference
#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"
Include dependency graph for common.h:
This graph shows which files directly or indirectly include this file:

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...
 

Macro Definition Documentation

Typedef Documentation

typedef STRUCTURE SYM

Definition at line 38 of file common.h.

Enumeration Type Documentation

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 

Definition at line 37 of file common.h.