-
Notifications
You must be signed in to change notification settings - Fork 28
/
CudaFunctions.h
63 lines (56 loc) · 1.57 KB
/
CudaFunctions.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef _CUDAFUNCTIONS_H_
#define _CUDAFUNCTIONS_H_
#ifdef CUDA
#include "hapi.h"
#include "HostCUDA.h"
void TreePieceDataTransferBasic(CudaRequest *data, CudaDevPtr *ptr);
void TreePieceDataTransferBasicCleanup(CudaDevPtr *ptr);
#ifdef GPU_LOCAL_TREE_WALK
__global__ void gpuLocalTreeWalk(
CudaMultipoleMoments* moments,
CompactPartData *particleCores,
VariablePartData *particleVars,
int firstParticle,
int lastParticle,
int rootIdx,
cudatype theta,
cudatype thetaMono,
int nReplicas,
cudatype fperiod,
cudatype fperiodY,
cudatype fperiodZ);
#endif //GPU_LOCAL_TREE_WALK
__global__ void nodeGravityComputation(
CompactPartData *particleCores,
VariablePartData *particleVars,
CudaMultipoleMoments *moments,
ILCell *ils,
int *ilmarks,
int *bucketStarts,
int *bucketSizes,
cudatype fperiod
);
__global__ void ZeroVars(VariablePartData *particleVars, int nVars);
#ifdef CUDA_2D_TB_KERNEL
__global__ void particleGravityComputation(
CompactPartData *targetCores,
VariablePartData *targetVars,
CompactPartData *sourceCores,
ILCell *ils,
int *ilmarks,
int *bucketStarts,
int *bucketSizes,
cudatype fperiod);
#else
__global__ void particleGravityComputation(
CompactPartData *targetCores,
VariablePartData *targetVars,
CompactPartData *sourceCores,
ILPart *ils,
int *ilmarks,
int *bucketStarts,
int *bucketSizes,
cudatype fperiod);
#endif
#endif
#endif