6 template<
typename dtype>
12 template<
typename dtype>
27 template<
typename dtype>
33 memcpy(&val, datap,
sizeof(
dtype));
34 MPI_Bcast((
char *)&val,
sizeof(
dtype), MPI_CHAR, 0, this->
wrld->
comm);
38 template<
typename dtype>
42 if (this->world->ctf->get_rank() == 0){
43 arr = this->world->ctf->get_raw_data(&s);
48 template<
typename dtype>
CTF_int::CommData cdt
communicator data for MPI comm defining this world
int * sym
symmetries among tensor dimensions
dtype get_val()
returns scalar value
an instance of the CTF library (world) on a MPI communicator
bool is_sparse
whether only the non-zero elements of the tensor are stored
int order
number of tensor dimensions
CTF::World * wrld
distributed processor context on which tensor is defined
Scalar class which encapsulates a 0D tensor.
int * lens
unpadded tensor edge lengths
algstrct * sr
algstrct on which tensor elements and operations are defined
Scalar< dtype > & operator=(const Scalar< dtype > &A)
void set_val(dtype val)
sets scalar value
bool profile
whether profiling should be done for contractions/sums involving this tensor
dtype * get_raw_data(int64_t *size) const
gives the raw current local data with padding included
algstrct (algebraic structure) defines the elementwise operations computed in each tensor contraction...
an instance of a tensor within a CTF world
void free_self()
destructor
Scalar(World &wrld=get_universe(), CTF_int::algstrct const &sr=Ring< dtype >())
constructor for a scalar
char * name
name given to tensor
void init(algstrct const *sr, int order, int const *edge_len, int const *sym, CTF::World *wrld, bool alloc_data, char const *name, bool profile, bool is_sparse)
initializes tensor data
MPI_Comm comm
set of processors making up this world