Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
Main Page
Modules
Namespaces
Data Structures
Files
File List
Globals
spctr_offload.h
Go to the documentation of this file.
1
/*Copyright (c) 2011, Edgar Solomonik, all rights reserved.*/
2
3
#ifndef __SPCTR_OFFLOAD_H__
4
#define __SPCTR_OFFLOAD_H__
5
6
#include "../shared/offload.h"
7
#include "
spctr_tsr.h
"
8
9
namespace
CTF_int
{
10
#ifdef OFFLOAD
11
class
spctr_offload :
public
spctr {
12
public
:
13
/* Class to be called on sub-blocks */
14
spctr * rec_ctr;
15
int
iter_counter;
16
int
total_iter;
17
int
upload_phase_A;
18
int
upload_phase_B;
19
int
download_phase_C;
20
int64_t size_A;
/* size of A blocks */
21
int64_t size_B;
/* size of B blocks */
22
int64_t size_C;
/* size of C blocks */
23
offload_arr * spr_A;
24
offload_arr * spr_B;
25
offload_arr * spr_C;
26
30
void
print();
31
35
void
run(
char
* A,
int
nblk_A, int64_t
const
* size_blk_A,
36
char
* B,
int
nblk_B, int64_t
const
* size_blk_B,
37
char
* C,
int
nblk_C, int64_t * size_blk_C,
38
char
*& new_C);
39
45
int64_t spmem_fp();
46
51
int64_t mem_rec(
double
nnz_frac_A,
double
nnz_frac_B,
double
nnz_frac_C);
52
57
double
est_time_fp(
int
nlyr,
double
nnz_frac_A,
double
nnz_frac_B,
double
nnz_frac_C);
58
63
double
est_time_rec(
int
nlyr,
double
nnz_frac_A,
double
nnz_frac_B,
double
nnz_frac_C);
64
65
spctr * clone();
66
67
spctr_offload(spctr * other);
68
72
~spctr_offload();
73
85
spctr_offload(contraction
const
* c,
86
int64_t size_A,
87
int64_t size_B,
88
int64_t size_C,
89
int
total_iter,
90
int
upload_phase_A,
91
int
upload_phase_B,
92
int
download_phase_C);
93
94
};
95
#endif
96
97
}
98
#endif
spctr_tsr.h
CTF_int
Definition:
model_trainer.cxx:16
src
contraction
spctr_offload.h
Generated on Thu Feb 28 2019 19:22:25 for Cyclops Tensor Framework by
1.8.11