Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
Main Page
Modules
Namespaces
Data Structures
Files
File List
Globals
scale_tsr.h
Go to the documentation of this file.
1
/*Copyright (c) 2011, Edgar Solomonik, all rights reserved.*/
2
3
#ifndef __SCL_TSR_H__
4
#define __SCL_TSR_H__
5
6
#include "../tensor/algstrct.h"
7
#include "
sym_seq_scl.h
"
8
9
namespace
CTF_int
{
10
11
12
class
scl
{
13
public
:
14
char
*
A
;
15
algstrct
const
*
sr_A
;
16
char
const
*
alpha
;
17
void
*
buffer
;
18
19
virtual
void
run
() {};
20
virtual
int64_t
mem_fp
() {
return
0; };
21
virtual
scl
*
clone
() {
return
NULL; };
22
23
virtual
~scl
(){
if
(buffer != NULL)
CTF_int::cdealloc
(buffer); }
24
scl
(
scl
* other);
25
scl
(){ buffer = NULL; }
26
};
27
28
class
scl_virt
:
public
scl
{
29
public
:
30
/* Class to be called on sub-blocks */
31
scl
*
rec_scl
;
32
33
int
num_dim
;
34
int
*
virt_dim
;
35
int
order_A
;
36
int64_t
blk_sz_A
;
37
int
const
*
idx_map_A
;
38
39
void
run
();
40
int64_t
mem_fp
();
41
scl
*
clone
();
42
43
scl_virt
(
scl
* other);
44
~
scl_virt
();
45
scl_virt
(){}
46
};
47
48
class
seq_tsr_scl
:
public
scl
{
49
public
:
50
int
order
;
51
int
*
edge_len
;
52
int
const
*
idx_map
;
53
int
const
*
sym
;
54
//fseq_tsr_scl func_ptr;
55
56
int
is_custom
;
57
endomorphism
const
*
func
;
//fseq_elm_scl custom_params;
58
59
void
run
();
60
void
print();
61
int64_t
mem_fp
();
62
scl
*
clone
();
63
68
seq_tsr_scl
(
scl
* other);
69
~seq_tsr_scl
(){
CTF_int::cdealloc
(edge_len); };
70
seq_tsr_scl
(){}
71
};
72
82
void
inv_idx
(
int
order_A,
83
int
const
* idx_A,
84
int
* order_tot,
85
int
** idx_arr);
86
87
}
88
#endif // __SCL_TSR_H__
CTF_int::scl::alpha
char const * alpha
Definition:
scale_tsr.h:16
CTF_int::seq_tsr_scl::~seq_tsr_scl
~seq_tsr_scl()
Definition:
scale_tsr.h:69
CTF_int::scl::A
char * A
Definition:
scale_tsr.h:14
CTF_int::endomorphism
untyped internal class for singly-typed single variable function (Endomorphism)
Definition:
sym_seq_scl.h:12
CTF_int::scl
Definition:
scale_tsr.h:12
CTF_int::inv_idx
void inv_idx(int order_A, int const *idx_A, int order_B, int const *idx_B, int order_C, int const *idx_C, int *order_tot, int **idx_arr)
invert index map
Definition:
ctr_tsr.cxx:592
CTF_int::scl_virt::order_A
int order_A
Definition:
scale_tsr.h:35
CTF_int::scl::scl
scl()
Definition:
scale_tsr.h:25
CTF_int::scl_virt::rec_scl
scl * rec_scl
Definition:
scale_tsr.h:31
CTF_int::scl::mem_fp
virtual int64_t mem_fp()
Definition:
scale_tsr.h:20
CTF_int::scl::sr_A
algstrct const * sr_A
Definition:
scale_tsr.h:15
CTF_int::scl_virt::blk_sz_A
int64_t blk_sz_A
Definition:
scale_tsr.h:36
CTF_int::scl_virt::idx_map_A
int const * idx_map_A
Definition:
scale_tsr.h:37
CTF_int::seq_tsr_scl::order
int order
Definition:
scale_tsr.h:50
CTF_int::seq_tsr_scl::seq_tsr_scl
seq_tsr_scl()
Definition:
scale_tsr.h:70
CTF_int::scl::~scl
virtual ~scl()
Definition:
scale_tsr.h:23
CTF_int::scl::run
virtual void run()
Definition:
scale_tsr.h:19
CTF_int::seq_tsr_scl::func
endomorphism const * func
Definition:
scale_tsr.h:57
CTF_int::seq_tsr_scl
Definition:
scale_tsr.h:48
CTF_int::seq_tsr_scl::edge_len
int * edge_len
Definition:
scale_tsr.h:51
CTF_int::scl_virt
Definition:
scale_tsr.h:28
CTF_int::scl_virt::virt_dim
int * virt_dim
Definition:
scale_tsr.h:34
CTF_int::seq_tsr_scl::sym
int const * sym
Definition:
scale_tsr.h:53
CTF_int::cdealloc
int cdealloc(void *ptr)
free abstraction
Definition:
memcontrol.cxx:480
sym_seq_scl.h
CTF_int::algstrct
algstrct (algebraic structure) defines the elementwise operations computed in each tensor contraction...
Definition:
algstrct.h:34
CTF_int::scl::clone
virtual scl * clone()
Definition:
scale_tsr.h:21
CTF_int::scl_virt::num_dim
int num_dim
Definition:
scale_tsr.h:33
CTF_int::scl::buffer
void * buffer
Definition:
scale_tsr.h:17
CTF_int::seq_tsr_scl::is_custom
int is_custom
Definition:
scale_tsr.h:56
CTF_int
Definition:
model_trainer.cxx:16
CTF_int::seq_tsr_scl::idx_map
int const * idx_map
Definition:
scale_tsr.h:52
CTF_int::scl_virt::scl_virt
scl_virt()
Definition:
scale_tsr.h:45
src
scaling
scale_tsr.h
Generated on Thu Feb 28 2019 19:22:24 for Cyclops Tensor Framework by
1.8.11