Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
Main Page
Modules
Namespaces
Data Structures
Files
File List
Globals
distribution.h
Go to the documentation of this file.
1
/*Copyright (c) 2011, Edgar Solomonik, all rights reserved.*/
2
3
#ifndef __INT_DISTRIBUTION_H__
4
#define __INT_DISTRIBUTION_H__
5
6
#include "
mapping.h
"
7
8
namespace
CTF_int
{
9
10
class
tensor;
11
12
inline
13
int
get_distribution_size
(
int
order){
14
return
sizeof
(int)*2 +
sizeof
(int64_t) + order*
sizeof
(int)*7;
15
}
16
17
// \brief data distribution object used for redistribution
18
class
distribution
{
19
public
:
20
int
order
;
21
int
*
phase
;
22
int
*
virt_phase
;
23
int
*
phys_phase
;
24
int
*
pe_lda
;
25
int
*
pad_edge_len
;
26
int
*
padding
;
27
int
*
perank
;
28
int
is_cyclic
;
29
int64_t
size
;
30
31
distribution
();
32
~distribution
();
33
38
distribution
(
tensor
const
*
tsr
);
39
44
distribution
(
char
const
* buffer);
45
51
void
serialize
(
char
** buffer,
int
* size);
52
private
:
53
void
free_data();
54
};
55
66
void
calc_dim
(
int
order
,
67
int64_t
size
,
68
int
const
* edge_len,
69
mapping
const
* edge_map,
70
int64_t * vrt_sz,
71
int
* vrt_edge_len,
72
int
* blk_edge_len);
73
}
74
75
#endif
CTF_int::distribution::phase
int * phase
Definition:
distribution.h:21
mapping.h
CTF_int::calc_dim
void calc_dim(int order, int64_t size, int const *edge_len, mapping const *edge_map, int64_t *vrt_sz, int *vrt_edge_len, int *blk_edge_len)
calculate the block-sizes of a tensor
Definition:
distribution.cxx:143
CTF_int::distribution::serialize
void serialize(char **buffer, int *size)
serialize object into contiguous data buffer
Definition:
distribution.cxx:88
CTF_int::distribution::pad_edge_len
int * pad_edge_len
Definition:
distribution.h:25
CTF_int::distribution::size
int64_t size
Definition:
distribution.h:29
CTF_int::distribution::is_cyclic
int is_cyclic
Definition:
distribution.h:28
CTF_int::distribution::virt_phase
int * virt_phase
Definition:
distribution.h:22
CTF_int::distribution::order
int order
Definition:
distribution.h:20
CTF_int::mapping
Definition:
mapping.h:20
CTF_int::distribution::distribution
distribution()
Definition:
distribution.cxx:8
CTF_int::distribution::padding
int * padding
Definition:
distribution.h:26
CTF_int::get_distribution_size
int get_distribution_size(int order)
Definition:
distribution.h:13
ctf.core.tsr
tsr
Definition:
core.pyx:443
CTF_int::distribution::pe_lda
int * pe_lda
Definition:
distribution.h:24
CTF_int::distribution::phys_phase
int * phys_phase
Definition:
distribution.h:23
CTF_int::tensor
internal distributed tensor class
Definition:
untyped_tensor.h:20
CTF_int::distribution
Definition:
distribution.h:18
CTF_int::distribution::~distribution
~distribution()
Definition:
distribution.cxx:84
CTF_int
Definition:
model_trainer.cxx:16
CTF_int::distribution::perank
int * perank
Definition:
distribution.h:27
src
mapping
distribution.h
Generated on Thu Feb 28 2019 19:22:24 for Cyclops Tensor Framework by
1.8.11