Bridge++  Ver.2.1.3
bridgeACC_AField.h
Go to the documentation of this file.
1 
10 #ifndef BRIDGEACC_AFIELD_INCLUDED
11 #define BRIDGEACC_AFIELD_INCLUDED
12 
13 namespace BridgeACC {
14 
15 // real_t = double
16 
17 void afield_init(double *data, const int size);
18 void afield_tidyup(double *data, const int size);
19 void afield_set(double *v, double a, const int nin, const int nv2);
20 void copy_to_device(double *v, int nv);
21 void copy_to_device(double *v, int nv1, int nv);
22 void copy_from_device(double *v, int nv);
23 void copy_from_device(double *v, int nv1, int nv);
24 
25 void convert(double *v, double *w, int nin, int nvol, int nvol_pad);
26 void reverse(double *v, double *w, int nin, int nvol, int nvol_pad);
27 
28 void copy(double *v, double *w, int nin, int nvol);
29 void copy(double *v, int nv1, double *w, int nv2, int nin, int nvol);
30 
31 void axpy(double *restrict v, int nv1, double a,
32  double *restrict w, int nv2, int nin, int nvol);
33 void axpy(double *restrict v, int nv1, double ar, double ai,
34  double *restrict w, int nv2, int nin, int nvol);
35 
36 void aypx(double a, double *restrict v, int nv1,
37  double *restrict w, int nv2, int nin, int nvol);
38 void aypx(double ar, double ai, double *restrict v, int nv1,
39  double *restrict w, int nv2, int nin, int nvol);
40 
41 void scal(double *restrict v, int nv1, double a, int nin, int nvol);
42 void scal(double *restrict v, int nv1, double ar, double ai,
43  int nin, int nvol);
44 
45 double norm2(double *restrict v1, int nin, int nvol);
46 
47 double dot(double *restrict v1, double *restrict v2, int nin, int nvol);
48 void dotc(double* ar, double* ai,
49  double *restrict v1, double *restrict v2, int nin, int nvv);
50 
51 void xI(double *restrict v1, int nin, int nvol);
52 void conjg(double *restrict v1, int nin, int nvol);
53 
54 // real_t = float
55 
56 void afield_init(float *data, const int size);
57 void afield_tidyup(float *data, const int size);
58 void afield_set(float *v, float a, const int nin, const int nv2);
59 void copy_to_device(float *v, int nv);
60 void copy_to_device(float *v, int nv1, int nv);
61 void copy_from_device(float *v, int nv);
62 void copy_from_device(float *v, int nv1, int nv);
63 
64 void convert(float *v, double *w, int nin, int nvol, int nvol_pad);
65 void reverse(double *v, float *w, int nin, int nvol, int nvol_pad);
66 
67 void copy(float *v, float *w, int nin, int nvol);
68 void copy(float *v, int nv1, float *w, int nv2, int nin, int nvol);
69 
70 void axpy(float *restrict v, int nv1, float a,
71  float *restrict w, int nv2, int nin, int nvol);
72 void axpy(float *restrict v, int nv1, float ar, float ai,
73  float *restrict w, int nv2, int nin, int nvol);
74 
75 void aypx(float a, float *restrict v, int nv1,
76  float *restrict w, int nv2, int nin, int nvol);
77 void aypx(float ar, float ai, float *restrict v, int nv1,
78  float *restrict w, int nv2, int nin, int nvol);
79 
80 void scal(float *restrict v, int nv1, float a, int nin, int nvol);
81 void scal(float *restrict v, int nv1, float ar, float ai,
82  int nin, int nvol);
83 float norm2(float *restrict v1, int nin, int nvol);
84 
85 float dot(float *restrict v1, float *restrict v2, int nin, int nvol);
86 void dotc(float* ar, float* ai,
87  float *restrict v1, float *restrict v2, int nin, int nvol);
88 
89 void xI(float *restrict v1, int nin, int nvol);
90 void conjg(float *restrict v1, int nin, int nvol);
91 
92 // copy with double/float conversion
93 
94 void copy(double *v, int nv1, float *w, int nv2, int nin, int nvol);
95 void copy(float *v, int nv1, double *w, int nv2, int nin, int nvol);
96 
97 }
98 #endif
99 //============================================================END=====
BridgeACC::afield_tidyup
void afield_tidyup(double *data, const int size)
BridgeACC::copy
void copy(double *v, double *w, int nin, int nvol)
BridgeACC::convert
void convert(double *v, double *w, int nin, int nvol, int nvol_pad)
BridgeACC::copy_from_device
void copy_from_device(double *v, int nv)
BridgeACC::axpy
void axpy(double *restrict v, int nv1, double a, double *restrict w, int nv2, int nin, int nvol)
BridgeACC::conjg
void conjg(double *restrict v1, int nin, int nvol)
BridgeACC::aypx
void aypx(double a, double *restrict v, int nv1, double *restrict w, int nv2, int nin, int nvol)
BridgeACC::scal
void scal(double *restrict v, int nv1, double a, int nin, int nvol)
BridgeACC
Definition: bridgeACC.cpp:15
BridgeACC::afield_set
void afield_set(double *v, double a, const int nin, const int nv2)
BridgeACC::norm2
double norm2(double *restrict v1, int nin, int nvol)
BridgeACC::dotc
void dotc(double *ar, double *ai, double *restrict v1, double *restrict v2, int nin, int nvv)
BridgeACC::dot
double dot(double *restrict v1, double *restrict v2, int nin, int nvol)
BridgeACC::xI
void xI(double *restrict v1, int nin, int nvol)
BridgeACC::copy_to_device
void copy_to_device(double *v, int nv)
BridgeACC::afield_init
void afield_init(double *data, const int size)
BridgeACC::reverse
void reverse(double *v, double *w, int nin, int nvol, int nvol_pad)