1 #ifndef CUDA_TYPEDEF_H_
2 #define CUDA_TYPEDEF_H_
18 #define NODE_INTERACTIONS_PER_REQUEST_L 1.0
19 #define PART_INTERACTIONS_PER_REQUEST_L 0.1
21 #define NODE_INTERACTIONS_PER_REQUEST_RNR 1.0
22 #define PART_INTERACTIONS_PER_REQUEST_RNR 0.1
24 #define NODE_INTERACTIONS_PER_REQUEST_RR 1.0
25 #define PART_INTERACTIONS_PER_REQUEST_RR 0.1
28 #define CUDA_SER_TREE 9900
29 #define CUDA_SER_LIST 9901
31 #define CUDA_LOCAL_NODE_KERNEL 9910
32 #define CUDA_REMOTE_NODE_KERNEL 9911
33 #define CUDA_REMOTE_RESUME_NODE_KERNEL 9912
34 #define CUDA_LOCAL_PART_KERNEL 9913
35 #define CUDA_REMOTE_PART_KERNEL 9914
36 #define CUDA_REMOTE_RESUME_PART_KERNEL 9915
41 #define TP_LARGE_PHASE_THRESHOLD_DEFAULT 0.0
42 #define AVG_SOURCE_PARTICLES_PER_ACTIVE 10
48 #if __cplusplus && !defined __CUDACC__
56 inline Vector3D<hosttype> operator+(Vector3D<hosttype> &v){
57 return Vector3D<hosttype>(x + v.x, y + v.y, z + v.z);
70 #ifdef GPU_LOCAL_TREE_WALK
71 typedef struct CudaSphere {
86 CudaNonLocalBucket = 8,
88 CudaCachedBucket = 10,
91 #endif //GPU_LOCAL_TREE_WALK
101 #ifdef GPU_LOCAL_TREE_WALK
113 #endif //GPU_LOCAL_TREE_WALK
117 cudatype xxx,xyy,xxy,yyy,xxz,yyz,xyz;
118 cudatype xxxx,xyyy,xxxy,yyyy,xxxz,yyyz,xxyy,xxyz,xyyz;
123 #if __cplusplus && !defined __CUDACC__
134 #if ! defined(HEXADECAPOLE)
170 #ifdef GPU_LOCAL_TREE_WALK
185 struct CUDABucketNode
195 #endif //GPU_LOCAL_TREE_WALK
207 #if __cplusplus && !defined __CUDACC__
221 #if __cplusplus && !defined __CUDACC__
236 #ifdef GPU_LOCAL_TREE_WALK
240 #if __cplusplus && !defined __CUDACC__
250 position = gp.position;
struct CudaMultipoleMoments CudaMultipoleMoments
Version of MultipoleMoments using cudatype.
Definition: MultipoleMoments.h:164
A representation of a multipole expansion.
Definition: MultipoleMoments.h:163
cosmoType hosttype
floating point type on the host
Definition: cuda_typedef.h:14
int index
Definition: cuda_typedef.h:201
int off
Definition: cuda_typedef.h:203
struct ILPart ILPart
Bucket of particles on the interaction list for the GPU.
int index
Definition: cuda_typedef.h:218
Version of MultipoleMoments using cudatype.
Definition: cuda_typedef.h:95
int num
Definition: cuda_typedef.h:205
int offsetID
Definition: cuda_typedef.h:220
struct CompactPartData CompactPartData
Particle data needed on the GPU to calculate gravity.
struct ILCell ILCell
Cell on the interaction list for the GPU.
Particle data that gets calculated by the GPU.
Definition: cuda_typedef.h:259
Bucket of particles on the interaction list for the GPU.
Definition: cuda_typedef.h:199
float cudatype
floating point type on the GPU
Definition: cuda_typedef.h:12
Information needed to calculate gravity.
Definition: GravityParticle.h:33
Particle data needed on the GPU to calculate gravity.
Definition: cuda_typedef.h:231
struct CudaVector3D CudaVector3D
3D vector of cudatype.
cosmoType totalMass
The total mass represented by this expansion.
Definition: MultipoleMoments.h:172
unsigned int bucketSize
Definition: ParallelGravity.cpp:125
struct VariablePartData VariablePartData
Particle data that gets calculated by the GPU.
Cell on the interaction list for the GPU.
Definition: cuda_typedef.h:216
3D vector of cudatype.
Definition: cuda_typedef.h:46
Vector3D< cosmoType > cm
The center of mass (zeroth order multipole)
Definition: MultipoleMoments.h:174